Programming and general geekiness.

Archive for October, 2011

Website of the day: keyhero.com

I’m not the biggest fan of typing tests. In the past I’ve always come up with relatively bad results with poor accuracy rates, but I have finally found a website that seems to like me a little more than others: keyhero.com. The site is based on Flash (sadly) and works just like any other typing test site – you type in quotes and it tells you when you make mistakes. I currently have an average speed of about 75 words per minute and an accuracy rate of 95% – which almost puts me in the top 2000 on the site of around 20000 users.

Even if you don’t type quickly the site is still relatively good for practicing – it has a special practice mode where your score isn’t recorded. I’ve found that the site has improved my speed by a whole word a minute over the last week but I don’t think that I’ve improved on my accuracy, it has always (and always will be) bad.

I know that this probably isn’t the best website out there but it is certainly worth a look.

The next four years of Apple

Apparently Steve Jobs set out a four year plan for Apple before he died – a rumor that seems reasonable. The question is, however, what the next four years will bring.

The next product that Apple is rumored to be launching is some sort of update to the MacBook line – either a more affordable version of the MacBook Air (i.e. sort of bringing back the regular MacBook) or producing a thinner, smaller MacBook Pro. These do seem realistic and I wouldn’t be surprised if they did come about in the next few months.

Next year Apple will probably launch the iPad 3, though rumors online seem to be fairly quiet and I would suggest that Apple won’t update it until summer (new iPads normally come in spring). It’ll probably be thinner, have an A6 processor and Siri built-in with iOS 5. I don’t think they’ll be changing much largely because they don’t really need to.

Another one that I would bet on for early next year, probably earlier than the iPad, would be a new Mac Pro or iMac. Neither will be major updates, they will just have faster processors.

Around this time next year I think that we’ll probably begin to see OS X 10.8, OS11 or iOS 6 – they are almost guaranteed to be the same thing and according to MacRumors Apple are already developing it due to an increase in the number of visitors to their site from ‘Intel 10.8′ which is what the next version of Mac OS X would show up as. Of course, people could be using a User Agent switcher to trick them. It seems likely that iOS and OSX will merge in someway because loads of updates were thrown at both, and it seems difficult to go beyond Lion – the biggest cat of them all.

Late 2012 or early 2013 (provided the world hasn’t ended) will probably bring an iPhone update with the next version of iOS regardless of whether it is merged with OS X. The iPhone 5/6 or whatever Apple call it will probably have 4G connection built in and will probably use Apple’s A6 chip (which hasn’t actually been announced, we can just assume they’ll make it) and probably finally have a boost to 1GB of memory.

After that the future is unclear because people aren’t even making predictions for where anything will be, but I would be prepared to bet that there will be another big product range  - like the iPhone or iPad. The technology probably doesn’t currently exist for whatever the mystery 2013/4 Apple product happens to be, but I bet the only person to have come up with it (and written it down) was Steve Jobs.

Like a boss

And this is my 226th.

The story of how computers were made to be boring

Above is a picture of an IT class. The students are using Microsoft programs and are probably doing something or other on Microsoft Office. When they get home they’ll probably log into Facebook and spend a couple of hours procrastinating on there. They will not do anything creative. Just write learn how to write a letter on Microsoft Word or do a basic formula in Excel. Today’s student generation believe that computers are boring because they aren’t doing anything interesting.

About 1% of us know how to use computers creatively. Or at least 1% of the people I know can code. I am the 1%*. Perhaps today’s students should learn how to code. Perhaps if students were taught to code at Middle School level there would be more people taking Computer Science and then more people going into the IT industry bringing what we can do forward. Or maybe they’ll just code the next version of Excel.

If students were exposed to what they can get computers to do – even if they just learnt to make a simple game of cards – they would be interested – or maybe the problem is that today’s children aren’t interested. Maybe they don’t care about computers. Maybe they won’t be amazed when they can get the computer to write out Hello, World 100 times.

So maybe 2% of students will be interested. Maybe 3% will get it. But that extra one or two percent could be all that the IT industry. Perhaps computers will be more fun.

Hopefully projects like Raspberry Pi will bring forward computing for students – help them discover a world beyond the taskbar and Word; a world of Linux, compilers and code. Perhaps they’ll just go on Firefox. Then Facebook. So here is a message to the programmers of today and the programmers of tomorrow: make computers fun. Make computers difficult again.

*Sorry, I’ve been dying to fit that into a blog post since the whole Occupy thing started.

Stats

I’ve just realized October has been my awesomest month by 25% so far on this blog.

The future of finding things

I’m not the world’s most organised person, so I tend to be quite good at losing things and then not being able to find them. I sometimes end up spending hours looking for something – be it physical or digital. Sometimes I lose something like a computer mouse and I won’t find it for a couple of days (or someone else will come along after a couple of hours and find it straight away). Sometimes I spend ten minutes trying to find a bit of code I wrote because I gave it a stupid name and saved it in a stupid place.

However, the future will not be like this. In the future everything will have an RFID chip (pictured). These chips contain a number that can be linked through a database to that object. For instance, I might have object 1 being a coffee mug, object 2 being a kettle and object 3 being a toaster. The chips are (and will be) so cheap to make that it is affordable to even put them in food packaging.

I would then have RFID readers fitted everywhere in my house – the front door, doors to rooms, the fridge, draws, cupboards, etc. Each of these readers would report to a central computer all the items that it has picked up. Then, for instance, if I lost my coffee mug (which would be a disaster) I could open up a program and search for an object named coffee mug. The program would then look in a database of objects and find that my coffee mug is object 1, and that the last RFID reader to have picked up my coffee mug was the kitchen door – I would then know that my coffee mug had to be in the kitchen.

Of course this could be extended dramatically to more than just finding things because RFID is such an easily adoptable platform – the chips themselves are constantly becoming cheaper to produce and readers can cost as little as $50. Stores are beginning to look at putting RFID chips into food packaging so you can just walk up to checkout with all your items which are then automatically scanned rather than everything being scanned individually. Then, when you get home your fridge looks at all the items to check if any are past their sell by date and warns you of this.

Perhaps I am being lazy imaging a future where I can search for everything in my house – but I don’t think that anyone can deny it would be useful.

Setting up a Java development environment

Despite being hated by a certain company beginning with A and poor open-source support, Java remains a fantastic programming language. Developed by Oracle (and Sun before they were bought out) it runs on desktop, Android handsets, phones, servers, cars, TVs and Blu-Ray players. It has functionality to do almost anything that you could ever want, but also has a great community of developers ready to help you out.

The one major problem with Java is that it isn’t always that easy to set-up, so this blog post will go through how to set it up and get started writing a simple Hello, World program. This tutorial will use Eclipse and JDK6 because JDK7 (Java Development Kit) only has limited availability at the moment and the tools are still being developed for Mac. I prefer Eclipse to other IDEs (Integrated Development Environment) because whilst tools like Netbeans are easier to set up you can do a lot more with Eclipse.

The first thing, therefore, to do is to download Java. You won’t be able to download the JRE (Java Runtime Environment – don’t worry about all the acronyms, you’ll learn them soon enough) because this doesn’t provide the tools for developing Java applications so instead you’ll need to get the JDK here. It is just a standard Windows installer, so you don’t need to learn anything new – you just install it. The next thing to do is to go to eclipse.org and download Eclipse for Java Developers.

Unlike Java Eclipse doesn’t provide an installer – it is just a .zip file. Copy the eclipse folder out of the archive you downloaded and copy it onto your C: drive. Once this process has completed you can run Eclipse for the first time by launching C:\eclipse\Eclipse.exe. If you are on Windows 7 you could pin the application to the taskbar at this stage. It can take a while to load first time round, however once it has loaded you should be presented with a Welcome screen.

Once you are in Eclipse go File > New Project and select Java Application in the project type. Go through the dialog typing in the details for each part of your application – just call it HelloWorld. If you are asked for a namespace type in com.example.helloworld – you don’t need to worry about this too much now.

When you have got through the New Project wizard you will be presented with a code file. Type in the following:
class HelloWorld
{
public static void main(String[] args)
{
System.out.println("Hello, World!");
}
}

Once you’ve done this, save it and then press run (the green arrow) and your program will run. If you want more Java tutorials, please go to wibit.net.

Seriously Google, where are my Reader updates?

It has been a while since Google posted that there would be reader updates coming soon – but there still aren’t any. Google Reader looks exactly the same as it used to. They said, a week and a half ago, that Reader updates would be coming in the next week – it is ridiculous that they still haven’t happened.

Ironically I’m not actually particularly bothered about the Reader updates – I’ll probably just find an alternative way to use it with Google+ so I can continue doing what I’ve always done which is to just read some blogs. I just want to know where these updates are and why they haven’t already arrived. Or maybe I’m just being picky.

On a side note, I am working on a microblogging CMS at the moment, and if anyone wants to help me it would be great if they could contact me on Google+. I’ve also done some posts about the iPhone 4S on My Average Blog as well.

How the people of ’55 would change the world

February 24th 1955. June 8th 1955. October 28th 1955. On these three dates three men were born that would go on to change the world. Steve Jobs, Bill Gates and Tim Berners-Lee would go on to revolutionize portable music, put a computer on every desk and create the World Wide Web. 1955 may have been a regular year – nothing major happened.

Steve Jobs started Apple. He helped to make the company before leaving and then coming back in the 1990s. The company is currently one of the most valuable in the world. Bill Gates started Microsoft and it created Microsoft Windows – the Operating System used on many of the world’s computers. He retired after having become the richest man in the world to go into philanthropic activities. Tim Berners-Lee is perhaps the lesser known of the three men but he is arguably had the most influence over the modern world by creating the World Wide Web whilst working at CERN and today it is used by almost every company and individual on the planet.

1955 was a pretty damn good year for making people. Perhaps there has been another year like that – though we might not know it because the people of that year may still be children. Perhaps it will be 1984 – the year that Mark Zuckerburg was born. Perhaps it was just coincidence that three of the greatest innovators of the last century were born within months of each other.

We live in a changing world

Above is a picture of Broadway in 1800, 211 years ago. In the following century the motorcar was invented, the airplane was invented shortly after and many countries undertook industrial revolution. If you stood on the same spot one hundred years it would have looked completely different. If you looked up to the sky 20 years later in 1920 the world would have just had the most horrific war ever and there would be airplanes in the sky. If you looked across the road fifty years later you would again see a completely different world. Incredibly if you stood there, at Broadway, today you would again see a completely different world to the one in 1970.

Sometimes I think that the world hasn’t changed at all. Sometimes I think that history hasn’t really changed much – we had all the big change 200 years ago. But I am so, so wrong. In fact, it would be completely reasonable to assume that everything has actually happened in the last twenty-five years.

In the last twenty-five years the personal computer, mobile phone, iPod and the whole damn internet have been invented. Somebody that had skipped the last twenty-five years would be returning to a completely different world. Nothing, really, is the same anymore.

Change has happened in the last ten years as well. People still searched on websites that weren’t Google. Ten years ago people were excited about 256MB of RAM in computers – I am getting 32 times than in my next computer. Ten years ago we hadn’t undergone a social revolution – the social media revolution. Blogging hadn’t matured and Twitter, YouTube and Facebook didn’t exist. People still did most of their communication in real life.

The last two hundred years brought us so much. The last twenty-five years brought us even more. Even the last decade has brought us whole revolutions. What will the years to come bring? I don’t think anyone can really know.

Follow

Get every new post delivered to your Inbox.