Who are you and what are you doing?

We are James and Uche. Together we founded Yapnak; the lunch app that brings students exclusive lunch deals for £5 and no hassle. Funnily enough, we're not tech guys (background wise) but instead both final year Queen Mary medical students. However ...

The EECS society will be making its 3rd annual visit on the 29th of November to Bletchley park (home of the code breakers) and the national museum of computing, where the first programmable computer (Colossus) was renovated.

Bletchley park is also a war museum and a part of British heritage ...

Robocode is a simple robot simulator, designed to give insight into how programming works. A simple robot can be written in just a few minutes - but perfecting a bot can take months. The robots will enter the battlefield and fight to the death.

To celebrate our very first socity meeting we gave free drinks and pizza to all attendees. We got to know some really cool people, and a lot of you were 1st Year students. We welcome you to our great campus!

On Oct 4th, the ACM UK/IE Programming Contest, part of the ACM ICPC, will have its second distributed annual event in several locations across the UK and Ireland. This year sponsored by Google, Paypal & EF.

The contest (which runs from 10 a.m. to 3p.m.) is a UK ...

Scaling of applications is a common problem that many programmers have to deal with. Just because a solution works on a given input; doesn't mean it's going to work,with satisfactory performance, for input of any size. The same algorithm that sorts 100 integers quickly, might scale so badly that if given a 1,000,000 integers it might be so slow that it would become practically useless, or at least a big drawback to the application it's used in. Given this fact, one has to be aware on what scale their algorithms and programs will be used.

Language speed is often a major factor when determining how useful a programming language can be. Some applications rely on languages that can execute a large amount of instructions in a short amount of time, and programmers may in some cases use languages which have many unpleasant features, just because they can execute an algorithm faster. It would be interesting to see how some languages would fare when it comes to how long it takes them to execute the same algorithm.

In the previous post I pointed out some difficulties of developing a reproducible experiment. Over a weekend, I've applied some of that ideas to my paper and would like to share my experience.

This is the second attempt of making this work reproducible. The first was done by Alexander Konovalov, Devasena Inupakutika, Steve Crouch and me at the Collaborations Workshop. Our aim was to reproduce an experiment and run it in Microsoft Azure.

By that time I'd already had a Vagrant box that contained all the necessary software. However, Fedora 20, the OS I used, is not supported by Azure, so we had to use another OS.

Finally, we managed to create a VM image and run the experiment in the cloud. However, deployment took most of the time, because we had to install the system dependencies manually. It was a messy list of development libraries and Python 3.3.

As the world makes a shift online, from our daily habits increasing our reliance on the internet here is an interesting topic that comes up, the aspect of online anonymity. Anonymous apps such as Whisper and Secret have made us aware of the issues we face in the modern world, reigniting the debate as to whether anonynmity outweights the risk it comes with.

Giving writers a WYSIWYG makes the assumption that they know how to make stuff look good. This is wrong. People who work with words should only have to care about words. Leaving the design choices to the designers. Markdown does an excellent job in accomplishing this compromise.

Generating random numbers from computers is essential to the development of certain kinds of software. Anything from modelling the environment, to a lottery machine, to determining the value of loot in a chest in an RPG, will require random number generation. At first it may seem strange that computers, which are capable of producing massive amounts of digits in a short time, would not be able to produce random numbers. The difficulty is that the computers we use, are constructed specifically to follow logical steps deterministically, so to generate numbers that are truly random from a system like our computers is virtually impossible. True randomness cannot be obtained using arithmetic operations, which is exactly what our computers perform. When some sequence of numbers is random then it is not possible to predict what the next digit will be, and since computers use a set of logical steps to create any new number it is theoretically possible to predict it. Nonetheless programmers take advantage of features for creating random numbers all the time, the most widely used programming languages, provide libraries that can generate 'random' values. Any role-playing game for example, that you might use, needs random values to determine the number of gold you'll find from some locations, what items dead enemies will drop, etc. So how is it possible that even though the very nature of computers makes it impossible to exhibit random behaviour, that many programs include simulations of randomness?

If you havent heard yet, Facebook will be hosting a Hackathon on Saturday, 15 March 2014. A Hackathon is a (codefest) event where computer programmers and others involved in software development, graphic designers, interface designers and project managers collaborate intensively on software projects.Hackathons tend to have a specific focus, which can include the programming language used, the operating, an application, an API, or the subject and the demographic group of the programmer. Though for the Facebook hackthon, there isnt any restriction on what you can make so aim for the sky.

The Pydata conference has started and the venue has a great view to East London. If you look carefully, you can spot Queen Mary.

East London