## 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

## Quick Update

Sunday, October 21st, 2012

This site will not be as updated as much over the next few months (Uni comes first)!

I will see you all on the other side!

## Software for Nottingham Computer Science!

Tuesday, August 21st, 2012

It has come to my attention that recently freshers seem unsure of what tools they require for the start of their academic time at Nottingham.

So much so that one poor fresher asked:

Is there anything you’d recommend getting before starting, i.e. software and so on? (Think I got Visual Studio 2010 lying around somewhere from college, if that’ll come in handy?)

About as handy ‘as a chocolate teapot’ I replied.

# Software For Year 1

Here is a short list of software I personally used during my first year for the following modules:

(Obviously, there are usually plenty of alternatives and mostly comes down to personal preference)

(Also, everything is fine with all three of Windows/Mac/Linux as far as I am aware – unless noted)

G51OOP – The Eclipse IDE – found here

G51PRG – The GCC compiler – found here

G51FUN – The Haskell Platform – found here

G51CSA – Komodo ARM Emulator – found here - Struggled to get this working on Mac/Windows. Best of just using it in labs!

G51DBS – MySQL/PHP – can be found individually here and here or use a WAMP package (recommended) – here

G51WPS – WAMP package (see above)

Other modules tend to use these tools.

# Software For Year 2

G52ADS – Eclipse (see G51OOP) with JUnit test suite – tutorial here and Test Driven Development (TDD) tutorial here

G52APR – see above.

G52IFR – Coq Proof Assistant (Yes, when ~txa says it, you will cry) – found here

G52CON – ADA-S archive and compiler – here

G52AFP – see G51FUN

G52CPP – Visual Studio 2012 – (Yes, I know I said it’s as useful as a chocolate teapot but lets be reasonable here. It is) – link to be given out by ~jaa (assuming he still teaches it!)

Other modules tend to use tools already listed in first year.

# Software For Year 3

G53CMP – See G51FUN/G52AFP

G53GRA – OpenGL Library & GLUT as well as Visual Studio 2012 (again) – Found on A32 Lab Computers

G53ORO – TORA System, OR Tutor, Open Solver for Excel, LP Solve (Mac), IOR Tutorial, BB for MIP

G53CWO – N/A

# Software For Year 3+

G54MDP – Android Software Development Kit

# Software For ALL Years!

There are some tools that are a little general that I think some people may want to use and others may not!

Doxygen - documentation generation system for multiple languages (C++, PHP, C, Java…) – found here

LaTeX – Typesetting and document preparation tool. Great for making good looking reports – found here

Latexian (Mac Only) – Quality LaTeX editor – here

LaTeX examples and templates for Nottingham are provided here free of charge from the wonderful Michael Gale

GitHub – for Windows or for Mac – here (win) – here (mac os x) or for Eclipse – here

Also before I am swamped with 20 questions: Your new timetables can be found here!

If you think I have missed something out! Please comment below and I will consider adding it!

Ed

###### Again, this is just advice. I don’t really want to get in a pointless argument of which software is better than the other! If you have personal preferences please go with it!

Tuesday, June 26th, 2012

If you know me, or have followed my twitter recently, you will be aware of my new toy – A gorgeous 15inch MacBook Pro!

Like any good computer science student should know, the command line of any *nix machine is a powerful tool and you should become very well aquatinted with it to get the best out of your machine!

I learnt most of the common commands during my first year at Nottingham but did not take the optional module in learning the more advance commands and instead opted to do a mathematics module (a huge error).

It has only been this year, my second year, where I have learnt a lot more about the benefits of the command line and how it can be used to make my life a lot easier. I therefore will share with you my current .bashrc file so you can use some of these cool little functions in your day to day nerding sessions!

alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
#Prevents accidentally screwing over files.

alias ..='cd ..'
alias ...='cd ../..'
#Change Directory Quickly

alias fsize='du -sch * | sort -h'
#File Size Info for a folder

alias ls='ls -lGh'

alias here='pushd .'
alias there='popd'

alias fist='finger -M'
#No Comment

alias cls='clear'
alias dir='ls -Lla|grep ^d'
#Windows like functs

alias r='fc -s'
#redo last command

alias scw='screencapture -iW ~/Pictures/screen.jpg'
alias sc='screencapture -S ~/Pictures/screen.jpg'
alias airport='airport -I'
#Mac Specific

#Usage: command | pst
alias pst='curl -F "sprunge= /dev/null && help $@ | less) } function extract() # Handy Extract Program. { if [ -f$1 ] ; then
case $1 in *.tar.bz2) tar xvjf$1     ;;
*.tar.gz)    tar xvzf $1 ;; *.bz2) bunzip2$1      ;;
*.rar)       unrar x $1 ;; *.gz) gunzip$1       ;;
*.tar)       tar xvf $1 ;; *.tbz2) tar xvjf$1     ;;
*.tgz)       tar xvzf $1 ;; *.zip) unzip$1        ;;
*.Z)         uncompress $1 ;; *.7z) 7z x$1         ;;
*)           echo "'$1' cannot be extracted via >extract esac else echo "'$1' is not a valid file"
fi
}



Should you have any questions, suggestions or any other comments on these then feel free to get in contact below!

Ed

## Step 1. Read this post…

Thursday, May 24th, 2012

This made me laugh today. Finally, a comprehensive guide of how to get Spotify and Google Chrome on library machines in Nottingham written in simple steps!

2. Install it.

Genius!

Edit: Turns out doing this breaches uni regulations anyway (supposedly)!

Try last.fm, grooveshark or tuberadio.fm if you need music :)

## 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

## G52AFP Revision!

Wednesday, May 9th, 2012

I have been advised by a certain tutor (who shall remain nameless) that people may be looking for G52AFP revision/exams etc.

So here it is!

Good lucks guys.

x

Friday, May 4th, 2012

Originally posted on Antimatroid, The:

### Introduction

Lately I’ve been brushing up on probability, statistics and machine learning and thought I’d play around with writing a Minesweeper agent based solely on these fields. The following is an overview of the game’s mechanics, verification of an implementation, some different approaches to writing the agent and some thoughts on the efficacy of each approach.

### Minesweeper

#### Background

Minesweeper was created by Curt Johnson in the late eighties and later ported to Windows by Robert Donner while at Microsoft. With the release of Windows 3.1 in 1992, the game became a staple of the operating system and has since found its way onto multiple platforms and spawned several variants. The game has been shown to be NP-Complete, but in practice, algorithms can be developed to solve a board in a reasonable amount of time for the most common board sizes.

#### Specification

##### Gameplay
An agent, $latex \mathcal{A}$, is presented a \$latex…

View original 3,262 more words

## 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!