Programming and general geekiness.

Archive for January, 2012

Potential uses for Raspberry Pi

The Raspberry Pi platform is clearly going to be a large succes and I plan to buk one as soon as they get released but I can’t decide what I would use for. Obviously it would be an interesting platform to develop with but here are some interesting ideas:

  • A media server – the OS would be installed on a memory card and an external hard disk would be plugged in  via USB
  • A web server although it would probably be a bit slow and not great at handling loads of traffic
  • A cool UI for your TV (and internet if that isn’t built in)
  • A drone
  • Wearable computer
  • Home automation
  • Home surveillance
  • An emulator for old video games (running a Nintendo 64 emulator would work well, I think)
  • Doing some work with Arduino to produce some pretty advanced and cheap systems
  • Scientific research

I think it will become clear what people like me are going to use it for when we actually get the devices because frankly I don’t think there will be anyone except programmers buying them for the first few months – it probably won’t be until September that they start appearing in schools.

400

WordPress has kindly decided to remind me that this is my 400th post on my blog. I had previously done posts once every hundred posts (100 and 200) however I don’t really see the need seen as there is a search box on the right of this post.

Instead I thought that it would be interesting to look at the number 400. I don’t normally spend much time thinking about numbers and most of these facts about the number 400 have been obtained from the web however if you do want an interesting book about numbers I recommend Number Freak by Derrick Niederman which I got for my birthday last year.

Anyway, here are my interesting facts about the number 400:

  • 400 is the HTTP Bad Client request response code
  • 400 is the square of 20
  • Children laugh about 400 times a day
  • The Gregorian calendar runs on 400 year cycles
  • 400 is a Harshad number
  • It took my app 20 hours to get 400 downloads (it has now had over 8000)
  • It is divisible by 1, 2, 4, 5, 8, 10, 16, 20, 25, 40, 50, 80, 100, 200 and 400
  • The closest primes are 397 and 401
  • The wealthiest 400 Americans now have more wealth than the poorest 150 million combined
  • Nestle has 400 factories
  • Canadian teenagers put a LEGO figure into space for $400
  • 400 million people use Facebook every day
  • In April 2000 (4-00 date) the United States vs. Microsoft case came to an end
  • The roman numerals are CD
  • In binary it is 110010000
  • It is 620 in base 8 (octal) and 190  in base 16 (hexadecimal)

If anyone else has any interesting facts about 400 please feel free to send them to me.

Why having lots of programming languages is useful

I know a lot of programming languages but I probably spend 95% of my time working in about five different programming languages. Some people reckon that it is a good idea to have just a few programming languages so that there is less confusion however I don’t think it is necessarily a good idea. Assume that C++ was selected as the ‘one language’. This would benefit many programmers because it allows for complex development of fast applications. On the other hand it would be very difficult for beginners to pick up.

You could argue that Java would be an appropriate ‘one language’. I certainly spend most of my time working in Java because it is a good language with lots of advanced features however it isn’t suited to the web – I’ve never really liked Java Applets that much.

It is therefore important that we have many programming languages (much as we have many spoken/written languages) because it allows beginners to easily understand programming (my current recommended path is Python > Java > C++ > Whatever you like) and also because different languages suit different purposes. C++ was designed to run programs but it would be pointless using it to create websites because markup languages do a better job.

The main advantage of different programming languages, however, is preference. It is always important to have a good choice of options when doing anything and additional programming languages offer that. I like C syntax because it makes sense in my head but other people prefer Python syntax because it is more human readable (although I reckon that once you know your way around a C-like language and you format your code well it is a lot easier to read).

I do get the feeling that desktop programming languages probably won’t evolve much over the next few decades but Dart is set to do some good for the web. Possibly.

Ubuntu on tablets

Ubuntu is currently my favorite Linux distro because it is the easiest to use, best supported and has a pretty cool UI. The Ubuntu project have suggested in the past that Ubuntu will eventually come to tablets and I think it is a move that needs to happen soon. When considering the way that Ubuntu has evolved over the last few years it is clear that it could certainly make the skip to tablets:

  • The Unity UI introduced bigger controls and interface that is easy to scroll through
  • The most recent version (11.10) introduced loads of new gesture support
  • There is already a Ubuntu Software Center which supports free and commercial apps
  • The development is relatively easy and supports hundreds of programming langauges
  • Ubuntu has a notification system
  • Ubuntu has a load of new APIs for better graphics systems and multimedia support
  • There is a media store
  • The new Head Up Display (HUD) that is going to be introduced soon appears to reduce the need for small icons that are difficult to tap/click on
  • There is an ARM version of Ubuntu
  • Ubuntu One introduces easy file sharing

Despite being a very good potential tablet OS I do wonder how popular it would be. Considering that most tablets at the moment are iPads and the Android currently only shares a small chunk of the market I would suggest that Ubuntu would really have to bring something radical to the table so that it could comfortably compete in the tablet market. I think that Ubuntu moving to TVs is a good initial move and hopefully it will help the project to develop an even more fluid interface that could be transferred across to tablets.

Why App Stores are the greatest success of the last ten years

Including Windows 8, all of the five biggest Operating Systems on the planet have app stores: Windows (8), Mac, iOS, Android and Windows Phone. The app stores all users to easily download and purchase apps in an enclosed environment with minimal effort. It is possible to press two buttons and to have an app instantly download and install. Ten years ago it was normal to have to go somewhere (or Amazon), purchase a disk, wait for it to arrive, put the disk into your computer, wait for the installer to load, go through a complex process to install, wait for it install, reboot and then eventually use the software.

Thanks to the major change in the way we get software developers and users have had many lasting benefits. It has helped to grow the software industry – especially the mobile software industry – and has also meant that users have a stronger variety of software on their computers. Since they were invented app stores have really helped developers as well because it means they don’t have to build trials, installers, update managers or complex license control systems. Many IDEs make it a two or three minute process to get an app onto a market.

Windows will be the last of the major platforms to get an app store and this really is going to be a problem. It will certainly be a good thing for Windows and I am sure it is going to be successful however I think it is too little too late. If Microsoft had launched an app store with Windows 7 it would have been a huge success and I should imagine Windows software would be very different however they were too late getting it onto Windows 8. Obviously Windows 8 is going to be a game changer, but it relies on a decent app store. Microsoft failing to provide this would be Windows’ downfall, but on the upside it could give Microsoft a decent shot at Apple.

Keep Calm v1.2

Click the image to download

I’ve just updated Keep Calm to version 1.2, which I plan to be the last major update for a while. Version 1.1 introduced sharing and a less buggy UI whereas v1.2 has completely revamped the app: you are now able to generate a wider image for use as a wallpaper and customize the image. I had considered allowing users to use photos as the icon but it seemed a little easier to allow users to instead select from fifty built in images.

The images include everything from zombies to alternative crowns and cats to trees. The default image is the standard crown however there is no reason not to take advantage of the other images. The only major disadvantage is that it has doubled the size of the app from about 150KB to around 300KB – although I don’t see that as a major issue.

A lot of people have contacted me saying that they’ve had problems saving the image. After having looked into it I’ve made a few modifications to my code however it is worth noting that it requires your phone to have a SD card or some form of external storage. As soon as a notification is displayed that says ‘Image saved’ the image should be visible in your phone’s gallery app.

I like the world

I’m in a pretty good mood today (if you know me in IRL you’ll know why) and I have suddenly just realized how happy I am about the world. A lot of people moan about how awful it is, but is actually pretty damn fantastic the way it is. We get to do loads of awesome things and we have loads of awesome things at our disposal. Sure we do have problems with the economy, various wars and climate change, but overall we are incredibly luck.

We live in a planet in the Goldilocks’ Zone which means it isn’t too near or far to the sun and we have a moderate climate that supports life. For all we know we could be the only intelligent life in the galaxy, if not the universe. We have billions of light years of space at our disposal.

Our technology may not quite be sci-fi but it is pretty cool. We have a network that connects billions of people around the world to do pretty much anything. Communication, sharing, social interaction, information, news and they way we shop has been completely overhauled by the web.

There is issue that does bother me: SOPA. SOPA looks like it is set to destroy freedom on the web. People can get sued for embedding a picture in their website. It will be a ridiculous world and frankly I would give up blogging completely if that happened. But I’m an optimist, so I hope it doesn’t.

Keep Calm v1.1

Keep Calm and Carry On v1.1

Last night I pushed an update to my Android Keep Calm and Carry On app. After having been able to get strong feedback from comments, people IRL and other websites I’ve been able to make some decisions for improvements to the app. Here’s what’s new:

  • I’ve fixed a bug on the forms that meant that content dropped off in landscape mode (you can now scroll)
  • I’ve added the option (in preferences) to either have a gradient or solid background
  • I’ve fixed some text wrapping options though I recommend you aim to use less than seven lines with a maximum of ten characters per line
  • You can now tap the poster to display the menu
  • A bug with saving has been fixed
  • AWESOME NEW FEATURE: You can share straight to social networks
  • And I added a button to go to my blog on the about screen

The app has received relatively positive ratings (currently 4 stars-ish) and has over 1500 users. Not bad considering it only went live on Saturday afternoon. I think that I am going to keep this app free forever and not bother doing anything stupid with a ‘Pro’ or ‘HD’ paid version. I really can’t justify charging for anything less than 1000 lines of code…

Keep Calm and Carry On

This is normal

I’ve just realized that on average I have about twenty tabs open and I often get up to about fifty in long sections of research and feed reading. I really need to be more organised.

Sherlock: The Reichenbach Fall

Sherlock title card

Sherlock has pretty much been the awesomest thing on TV this year (which is hardly a surprise) and last night’s finale of the second series was pretty good. Forget that, it was awesome. The episode opened with the hilarious Moriarty stealing the crown jewels and pretending that he had some special computer program (which I correctly suspected was not real from the beginning of the episode) that allowed him to get into any security system. He was then tried, found not guilty and allowed to walk free.

Over the course of the episode Moriarty gradually ruined Sherlock’s reputation which worked pretty well and eventually led up to the final confrontation on the roof of the hospital. Moriarty then shot himself which I thought was a bit of a shame because he is probably the most likable and entertaining villain of any TV series. Sherlock, realizing it was the only way to save his friends, jumped from the roof and supposedly killed himself. The episode ended with a shot of Sherlock looking over the graveyard where he was supposedly buried so it is quite clear that he isn’t dead. A few minutes after the episode Steven Moffat and Mark Gatiss both confirmed that a third series had been commissioned (at the same time as the second series), and the BBC has also now confirmed that.

I should imagine that the choice of name for the episode was intentional as in the story The Final Problem (a phrase which Moriarty repeated through the episode) both Holmes and Moriarty fall to their deaths at the Reichenbach Falls however Holmes was brought back in later stories. Despite the fact that we know that Sherlock is definitely alive nobody can really provide a conclusive idea about how. Here are the current theories:

  • Molly definitely did something with Sherlock off screen because he asked her for help
  • Sherlock some how chucked Moriarty’s body from the roof
  • Moriarty had used a body double to kidnap the children that looked like Sherlock (hence why the girl screamed) and then the body double jumped from the roof
  • Sherlock actually landed in the conveniently parked van (although this doesn’t explain the other people in the street) and drove off whilst the other body was put there. The cyclist intentionally knocked John over so that the illusion could take place
  • Nothing happened. It was all a weird dream

Sadly we probably won’t have any many Sherlock for ages because much as I am looking forward to The Hobbit, Martin Freeman is busy being Bilbo and Benedict Cumberbatch is voicing Smaug.

Follow

Get every new post delivered to your Inbox.