Programming and general geekiness.

Archive for May, 2011

WWDC: What will Apple throw up?

For years Apple has managed the ‘Apple Worldwide Developer Conference’ – or WWDC for short. My nice little Google Reader feed has just told me (yeah, I only just logged on) that Apple are going to be announcing some exciting new features. To quote, we are going to see ‘Mac OSX 10.7 Lion’, ‘iOS 5′ and ‘iCloud’. Interestingly, the only one that we really know much about is Lion, because Apple has been teasing us with the developer previews since last Autumn (it was really that long ago) and there is no doubt that we will probably see the polished version of Lion at WWDC, there will probably be very few features before it goes out to the general public later this summer.

iOS 5 could be an interesting one. In the past Apple has always announced iOS versions in around March, and then showing off the new iPhone at WWDC, however this year seems to be different: we are only seeing iOS 5, no mention of the iPhone 5. This is perhaps because the iPad is now launched in the early months of the year, and it is unreasonable for Apple to release one product with the old version of iOS before releasing the newer version of iOS just a few weeks later. In fact, it has been quite clear that the iPhone 5 will not be announced at WWDC, will probably just get a gist of what it might be like based on iOS 5 – but frankly the hardware probably isn’t going to be very different, there might be a dual-core processor, a little more battery and it might be a bit thinner, but I doubt that Apple are going to want to make to many changes, especially considering that the iPhone is rapidly becoming one of their bestselling products. There are talks that we may not see that iPhone 5 for another year, and that the guys in Cupertino are actually just developing the iPhone 4S – a faster, slimmer version of the current iPhone.

Before considering what iOS 5 might entail, I think it is worth considering the mystery of the iCloud. Apple have made obvious hints at this before – they’ve bought a massive new data center and put in a few patent applications related to how it might work. Suggestions at the moment are that it will allow users to store their music in the cloud and have it streamed to their computer – or more importantly, iOS device – rather like Spotify. This will be interesting from the perspective of saving space on our computers – though I doubt that Apple will be storing all 30GB of the iTunes libraries of people I know – I should imagine parts of the iCloud service will be related to how MobileMe has always worked, there will a be fee – however this shouldn’t be an issue for Apple – it has the credentials of millions of music purchasers, and if they stick a few massive ads on the iTunes store they’re bound to make a bit of cash.

But iOS 5 might work differently with iCloud. It might not just be a storage facility for our media, it may well not only be the storage space for our apps, but also work as the processor for them to. There have been rumors that the iPhone 5 will be considerably cheaper than the iPhone 4 because it will have far more basic components because it will only need to be faster at getting data from the iCloud, it won’t need anything else. This idea interests me, and I also see it as likely, though perhaps not now due to the lack of 3G and even 2G connection across the globe. I doubt that Apple would want to see their stock prices drop dramatically either if the iCloud were to fail.

Ultimately, there is little to be interested in iCloud 1, iOS 5 and Lion. We need to be interested in the next version of the products, where they will converge. Perhaps iOS and OSX will be forced to evolve into one another – the same OS on our computers and phones shouldn’t be an issue provided that Apple get the cloud – the iCloud – right.

Doctor Who: The Real Doctor knows about the Death Party Invite

If you watch back today’s Doctor Who episode (6), we see that the real Doctor knows about the invitation to the Death party, except Amy only told the real Doctor:

AMY: I never thought it possible

GANGER: What?

AMY: You’re twice the man I thought you were.

GANGER: Push Amy. But only when she tells you to.

RORY: Amy, come on.

[Roaring sound]

GANGER: Well, my death arrives, I suppose

DOCTOR: Except this one we’re not invited to.

This means one of three things:

  1. The real Doctor died from the acid and the ganger got in the TARDIS at the end of the episode
  2. The ganger Doctor told the real Doctor about the death party invite
  3. The Doctor had always planned the Death Party from Episode 1
  4. The ganger and Doctor switched shoes very early on, and so Amy told the real Doctor about the Death Party Invite

Viralness Calculator

YouTube currently ranks videos based on the number of likes and the number of views – but both separately. However, this isn’t a particularly interesting way of ranking videos, and a few friends and I decided to build a simple formula that calculates how viral a video is – taking in number of views, days it has been up for, likes and dislikes. This allows us to compute how popular a video is, and the timescale that it has got popular in. To this post I have attached a spreadsheet that can calculate the viralness of a video, but here is the rough formula for it:

(number of views ×(likes ÷dislikes))/(number of days it has been up)

Viralness formula

Therefore, with this formula we can establish the following of these videos as of today, 24th May 2011:

  1. Justin Bieber – Baby: 589,139
  2. Charlie Bit My Finger : 1,806,195
  3. Evolution of Dance: 1,070,846
  4. Rebecca Black – Friday: 201,841
The reason that Friday has such a low rating is because it is not particularly appreciated, i.e. it is very disliked.

Sports invented in England vs. English Success

New Programming Blog

I have made a new blog specifically about programming and my projects over at Blogspot: programmingthomas.blogspot.com

Anecdote for the day

Does anyone else remember when Friday was just a day of the week? Or when babies were cute adorable young children that weren’t sung about by Canadian pop stars?

Coming this week: DumbCMS

This week (not sure when) I will upload the code to a new CMS that I have coded called DumbCMS on Google Code. The idea behind the project is to use a really simple system that allows people to quickly create websites. It will be fully modifiable through an Admin system where administrators will be able to edit pages, post blog updates and upload files.

http://code.google.com/p/dumbcms/

All About Azerbaijan

Last night Azerbaijan surprisingly won the Eurovision song contest, easily beating the critics’ (and bookies’) favorites France, Sweden and Ireland – and they rarely get it wrong on big events like Eurovision. When watching Eurovision, other than noticing that about 90% songs were English – quite surprising considering that the UK – the people who would be expected to sing best in English – don’t normally do that well -, I also noticed that I didn’t actually have a clue about Azerbaijan, where it is, what language it speaks, what the culture is like and all the other interesting things that might be expected from me. Here is my fact file:

  • The capital city is Baku
  • Just over 9,000,000 people are thought to live there
  • It is on the edge of the Caspian Sea
  • It is bordered by Russia, Armenia, Turkey, Georgia and Iran
  • The official language is Azerbaijani and to say hello you would say ‘Salam’, so look out for lots of this next year
  • The current political system is a Presidential Republic (with a President and Prime Minister), however it has been a Democratic Republic (1918) – the first Islamic state of its kind – before being taken over by the Soviet Union in 1920, finally gaining independence in 1991 with the disillusion of Communism
  • Azerbaijan is technically considered by the United Nations (which it is a member of) to be in Asia, however it is in the Eurasian area, which why it (and the other former Eastern Bloc countries) is allowed to perform in Eurovision
  • During World War Two, Azerbaijan fought with the Soviet Union, supplying men and oil
  • 90% of the people are considered to be Azerbaijani, and much of the remaining ten percent is made up from peoples from former Eastern Bloc countries
  • 99% of the people are Muslim
  • The three most popular sports are Freestyle Wrestling, Football and Chess
  • The Azerbaijan National Aerospace Agency plans to launch its first satellite in summer 2012
  • Azerbaijan is very mountainous, however 9 of the 11 climate zones exist within Azerbaijan, with temperatures ranging from -33 degress Celsius to +44 degrees Celsius

And because I quite enjoyed that, I might do something like this for more countries in the future. Please put ideas in the comments!

Approaches to coding a BASIC programming language

BASIC taught me programming to begin with. It can (at times) by a surprisingly complex language, but it starts off at a very simple level. There are hundreds of options for beginning BASIC online, and you can gradually progress up to Visual Basic, and then one what I like to think of as ‘proper syntax languages’ – those languages whose syntax uses {curly brackets} and is descended from C.

It is enough a challenge for a beginner to learn BASIC, but for a programmer with three years experience it becomes a lot harder to build a BASIC clone. For instance, how would you handle variables? Control statements? Functions? Parameters? Could it be more advanced, including GUIs and Objects?

My plan is to build a simple programming language first based on BASIC, but then being built-up to be a mix of PHP, Objective-C and VB.  It will have interfaces declared in XML files and code stored in text files that contains code. The procedure has been painless so far and with any luck it will prove to be very easy to use once finished.

Here is how I am approaching challenges:

  • Variables: values are stored in an array of a maximum of 10,000 values. The values are evaluated by a special function that returns their value once Math has been evaluated along with the combining of strings
  • Control statements: These evaluate the variable boolean before executing the appropriate statements
  • Commands/Functions: Currently non-object based, have one argument at the moment, so it is statement then argument, so print might be print “hello world” and this can be split by spaces and easily evaluated.

The language is going to be called ThomasScript, and intend to have the first (Windows) beta version finished by the end of July, ready for a simple version to be integrated into early builds of ThomasOS.

Create Stained Glass Name Desktop Backgrounds

A while ago, whilst messing around of Photoshop, I developed some new desktop backgrounds for myself. Read the How to make your own stained glass name backgrounds with Photoshop PDF I wrote.
Here are some examples I did:

Follow

Get every new post delivered to your Inbox.