Archive for the ‘programming’ Tag

Some cool HackSoc mash-up APIs!

Thursday, March 7th, 2013

Hello /r/hacksoc,

Recently I have been thinking about some cool ideas for web/phone apps and looking for some cool datasets and APIs to play with.

However, it has come to my attention that there isn’t really a definitive list of things to play with (that I could find anyway). 

So let me present the “Ed George List of Cool HackSoc Playthings”.

Cool Playthings:

Standard Playthings:

This list will be updated as and when I find more, but in the meantime happy hacking!

getAge() {return 21;}

Friday, February 1st, 2013

Happy New Year to all!

I am writing this one day after my 21st birthday which is a strange milestone for me (and everyone else in fact), considering the next milestone will be in 9 years time when I reach 30 and edge ever nearer to that fabled ‘mid-life crisis stage’ of a man’s life. (The word Crisis will no longer be mentioned from this point on-wards after the harrowing events of last night)

It’s scary to think that in 21 years of existence just how far things have come. I am of course talking quite generally here as global politics, human rights and certainly technology have all come a long long way since I was born in 1992. Speaking solely on the technological side of things, there are many things that astound me about just how quick changes are still propagating ~60 years on from the birth of ‘modern’ computing. For example, realistically how many children today, or even 3-4 years ago for that matter, would recognize a VCR? How many families in the UK still own a VCR? Finally, how can it possibly be that in my 21 years of existence I have seen the VCR format die, the DVD format rise and now witness its possible successor Blu-Ray take center stage? I have also seen the tape format nearly erased from existence and replaced by first CDs and then MP3s!

In fact here is a short overview of some of the scariest facts I have comprised about some of the changes that have come about since I came to be!

Since being born:

  • The iPod was invented and has had 24 different models released, of which I owned 3
  • In ’92 Apple’s Classic II had a 16Hz CPU and 2MB RAM
  • 21 years later my MacBook Pro has a 2.4 GHz CPU and 8GB RAM
  • Microsoft released Windows 3.1 in ’92. (I remember using it at a friends house)
  • Microsoft have released 8* main consumer Operating Systems since
  • Apple have released 13*
  • In 1992 the first ever Text Message (SMS) was sent
  • Since 2010 – close to 200,000 text messages are sent every second
  • The Multipurpose Internet Mail Extension (MIME) standard was introduced in 1992 that allowed multimedia and other file types to become attachments in emails
  • In 1995 (earliest data I could find) Netscape held 80% of the browser market. IE had upwards of 95% global market share around 2002 and now has between 25-30% a mere 10 years later.
  •  Apple created the iPad, a ‘revolutionary’ device that introduced the subsequent ‘tablet revolution’ – Microsoft’s Project Origami had attempted something similar a few years before and was written off due to it’s poor battery life and reliance on stylus usage. (I got to test an early Samsung tablet running Windows XP for Tablets, and it was just awful)
  • The British company ARM in 2013 are responsible for the most popular 32-bit instruction set architecture in the world with a presence in 95% of smartphones, whilst in 1992 the company had only been established for 2 years
  • In 2006 MySpace hit 100 million users, 5 years later around 60% of these users had left
  • In 2008 Facebook traffic surpassed MySpace and 4 years later the site registered it’s 1billionth user
  • In 1992 I didn’t own a computer
  • In 2013 I have ‘owned’ nearly 10

My point is, Moore’s Law clearly has taken it’s toll on the technology I have witnessed since my birth! I can honestly say that I am truly excited to see where my field, Computer Science, is in 21 years time. It is a mind boggling concept to imagine what the world will be like then!

As many people that read this blog are of similar age to me, I hope you have found the facts I have collected to be of some intrest! It would be interesting to hear what shocked you most and how you have noticed things change since you were born. It doesn’t matter if you are older too, I can appreciate that for many people nowadays  punch cards were the only way to learn to program! (Give me Sublime Text 2 any day!)

Let me know what you think in the Comments below!

Til next time,

Ed


*My definition is Major releases and does not include Server Versions etc

Typesetting with Java

Saturday, May 12th, 2012

As this academic year draws to a close, so begins the time to choose modules for next year!

I have decided that ‘Document Programming‘ will be one of my choices as its an area of interest and it’s taught by Steven Bagley who is not only one of the departments lead figures in the Document Engineering department (alongside Prof. David Brailsford), but an awesome lecturer!

To get myself into the ‘feel’ of DocEng, I visited an interesting page from the CS department at the University of Virginia titled “Typesetting Example in Java”.- that can be found here.

I have implemented the code, watched the video and read the slides!

It seems DocEng is quite complex – Something we take for granted, such as text on an e-book reader, actually has a lot of underlying mathematics behind it!

Check it out

Boolean: Yes or No. Uh or Maybe?

Tuesday, April 17th, 2012

I was casually linked to a site today that had a snippet of code that made me quite angry.


enum Bool {

True,

False,

FileNotFound }; 

I feel the title of ‘logician*’ may no longer apply to this individual!

Feel free to discuss!


* We all need cool job titles!

The Truth Behind C++

Thursday, December 8th, 2011

A friend of mine recently forwarded me an interesting article that stems from a conversation with the creator of the C++ programming language.

This man, Bjarne Stroustrup, released C++ in 1985 whilst working as an employee at Bell AT&T labs and was eventually standardized by an ANSI committee in 1998. The article is a conversation in which a reporter from IEEE‘s ‘Computer’ magazine interviews Bjarne about the progress he’s made and looking back on the changes in the usage of computer programming languages. However, the interview actually lets on a little more than was originally bargained for! Bjarne seems to imply that the language he created was made to be complex on purpose in an attempt to raise salaries of those who programmed in it!

It was only supposed to be a joke, I never thought people would take the book seriously. Anyone with half a brain can see that object-oriented programming is counter-intuitive, illogical and inefficient.

From reading the transcript I initially thought this was supposed to be a tongue-in-cheek comment, a joke. Unfortunately this didn’t seem to be the case.

I didn’t expect the thing to get so much out of hand. Anyway, I basically succeeded. C++ is dying off now, but programmers still get high salaries, especially those poor devils who have to maintain all this crap.

This article is actually shocking in the sense of how openly Bjarne is willing to tell people this kind of information when the language he created is already so widely used in the market.

I recommend reading the transcript. It’s interesting to say the least!

Source: Invention of C++ [Jul 27 1999]

I guess choosing a C++ module this coming semester might have been an error…

Ed

A Computer Scientist’s Guide To Procrastinate Effectively

Saturday, November 26th, 2011

A lot can happen in 2 months, 9 days. You can climb Everest, Watch every episode of Futurama every produced and you can slave your behind off doing work for subjects you fear may never interest you again!

I have done two out of the three since my last post.

Procrastination is fun, so what better to talk about after my prolonged period away!


A (quick) Computer Scientist’s Guide To ‘Procrastinate Effectively’

As a 2nd year undergraduate computer scientist, your daily life will consist mostly of one (or more) of the following:

  • Struggling to wake up
  • Struggling to attend lectures
  • Struggling to grasp concept of lectures
  • Struggling to understand accent of lecturers
  • Struggling to attempt coursework
  • Struggling to finish coursework before deadline
  • Struggling to beg lecturer for more time
  • Struggling to tie lead weights to your ankles whilst standing on top of a tall bridge…
Ok, so some of those might not apply to you or even me for that matter but if anything the last month has taught me, there is a brilliant new way of avoiding all of these troubles in your life. PRO-CRAS-TIN-ATE.
If you are working on a piece of code and there’s an error or exception you don’t understand. Then the Java docs are a fantastic source and whilst you’re at it, why not post a Facebook status from your Tamagotchi to make your idiot friends think you are some kind of wizard! If you are waiting for your code to compile or finish a large batch of calculations, then it’s the perfect time to brew a fresh cup of grounded coffee OR alternatively, play each track on the front page of Line Rider! It’s all good old-fashioned procrastination.

There are some certain things a Computer Scientist amid a ‘study-spree’ should attempt to avoid:

  • Special offers on Energy Drinks
  • Auction sites with links to ‘Retro Games - YES I MEAN THIS ONE’
  • Falling ill from food poisoning (Trust me)
  • Blogging unnecessarily

Avoid these like the plague as procrastination will eventually come so naturally to you that you will actually procrastinate on your next batch of procrastination!

This is kind of like the film Inception but with more games of Bejeweled Blitz and AWFUL computer related cat pictures - Seriously, these aren’t funny. I wish people stopped making them. PLEASE STOP MAKING THEM.

You will become a professional procrastinator when you graduate (oh and maybe get a BSc or MSci too if you are decent). I wish it wasn’t true but I’m currently very stressed and despite attending 90%+ lectures I still feel overwhelmed with work!

Hopefully I will have some more tech/programming/fun related posts after I split up on the 16th December! But currently all I can think about is how efficient my washing up technique is in terms of Big-Oh and whether treating it as a Stack or as Queue will make me complete it any quicker than treating it as dirty dishes!

The joys of Computer Science!

Peace and Love,

Ed

(Obviously this post is Tongue-in-Cheek and I 110% do not endorse playing Age of Empires II till 4:30 am on a ‘school night’…)

Holiday Reading

Friday, July 29th, 2011

Without a proper summer job, I have had a fair bit of spare time! I have decided that some summer reading may be beneficial for the start of next year.

99.9% of programmers out there will be familiar with the K&R C Programming Book as it is the de facto standard book for the language.  I have taken it upon myself to read as much of the book as possible and try to complete the exercises before I move into my new house in Lenton – (My new street in its former glory!).

To be fair, the initial exercises don’t require much thought!
Verify that the expression getchar() != EOF is 0 or 1

//Solution to "Verify that the expression getchar() != EOF is 0 or 1"
#include <stdio.h>
int main()
{
  int c;
  printf("Press a key.\n");
  printf("The expression getchar() != EOF evaluates to %d\n", c = (getchar() != EOF));
  printf("Therefore: %s\n", (c == 0) ? "False\n" : "True\n");
  return 0;
}

EDIT: Line 8 should read printf(“Therefore: %s.\n”, (c == EOF) ? “False” : “True”);
This is trivial, but there we go!


I also plan to read up on Java once again but I have yet to find a book that is to a similar standard to C’s K&R.

Until then I recommend the following reading:

App’s for Students - A great post by Harry Slater about the key iPhone apps he uses as a student! (No use to me…I have a Blackberry, but worth a read nevertheless)

Child’s Play in Haskell - Another problem solved in Haskell by Michael Gale

Finally, a post by my friend Tom about what he wants to achieve in the next year!

More posts soon!

Ed

XP soon to eXPire!

Monday, July 18th, 2011

I bare bad news Windows XP users. Come 2014 Microsoft have recently announced that they shall be finally stopping support for the OS all together after a 13 (and a bit) year lifespan. Users are expected to upgrade to a newer system such as the upcoming Windows 8 (no release date as of yet) or the two previous versions – Vista and 7.

Losing support is a fancy way of saying Microsoft have finally given up with patching security updates and fixes for the XP system. This is time-consuming and for a system that will then be nearly 14 years old, is unnecessary!

However, Microsoft supporting a system like XP for so long is usually unheard of, for example, Windows 2000 was only supported for 10 years, Windows 98 for 8 and Windows 95 for just over 6. It is clear that XP still remains to be a major player in the Operating Systems market despite it due to become a teenager in 2014!

I believe XP being so popular in the market, 10 years after being initially released, can be slightly attributed to the revolutionary design step-up between the old systems available at the time.

Pretty Hill! XP was the upgrade for the millions of users of Windows 95/98, who were used to gray task bars/windows and bland cyan backgrounds whilst XP offered users exciting new graphics such as the default ‘pretty hill’ as your background, multiple themes and excellent customization. It’s aesthetics, I believe, made modern computing look and feel futuristic, an exciting prospect for most “Average Joe’s” and arguable most importantly for some, it didn’t break the bank balance. OS X by Apple was expensive and the technology/software to make Mac-Windows interaction easy was still in its infancy. This made XP even more popular.

I also feel that XP seemed to work ‘logically’.  For me there was no “Oh, why is it doing this?” or “Surely If I do this, then this should happen!”. It tailored perfectly to how I believe an interface should be for a user. Easy to use and logical. It is so easy to use that my parents use XP and have done now for close to 8-9 years!

I also do still use Windows XP, not on my laptop but on the main family computer. I do believe it was one of Microsoft’s better releases especially after using Vista for 3 years now. It will be a shame to see support for XP go, but I shall remember it fondly!

RIP Windows XP. 2001 – 2014

Summer Project

Saturday, June 11th, 2011

So as my first year of University draws to a close, Summer Holidays await!

It is currently tradition (as of the last few years) that I propose an elaborate summer project with either my good friend Harry or Max, that has potential, but which we never follow-up.

In recent years we have attempted:

  • Software Development
  • Gaming Websites
  • T-Shirt Design/Manufacturing
  • etc

Some generating a large amount of interest and others generating none.

This year I will may attempt to re-write iTwoons, the Visual Basic iTunes application that allows users to tweet what they are currently listening too! I have some cool new ideas that I think may really benefit the application (plus the code requires a lot of tidying!!). Hopefully people will still be interested in this project as I believe it will be a useful tool to a lot of people. I do aim to eventually write this application in Java for a multi-platform application but currently this is not possible.

Other than that, I have had a few cool new ideas for program interfaces that I will one day attempt to implement. I have decided not to share what they are just in case the ideas are ‘stolen’. (I’m poor and these could make me a little bit of money one day!)

Anyway, I will update you with my chosen project when I return home from uni in the next week or so!

Ed


I would also like to give a quick mention to another Computer Science friend - Michael Gale  whose new blog is now online!

CSI – Computer Science Insult

Friday, June 10th, 2011

Summary: CSI is no longer ‘rad

Follow

Get every new post delivered to your Inbox.

Join 878 other followers

%d bloggers like this: