Author Archives: MShaw

Skills for developers, skills for institutions

Training doesn’t have to be expensive. It doesn’t have to be led by a teacher. It doesn’t even have to be called training. Key to the success of Dev8D is how it provides training in an atmosphere of friendly, playful collaboration. Developers are given the opportunity to hone their skills and learn new tips and tricks in areas they already understand, as well as developing new skills in subjects which are completely new to them. And as individuals benefit from this training, so do universities. Developers return to their institutions full of ideas for new projects – and armed with the skills and contacts to make those ideas reality.

Dev8D 2010 was divided into different zones, with varying degrees of formal training. At the top of the scale were the coding labs, in which attendees were submerged for several hours in intense training in a specific area such as Clojure or Python. Next were the workshops – group sessions to discuss specific areas such as Linked Data or cloud computing.

The expert sessions hovered in the middle of the formal to informal training scale – as a collection of 15 minute lightning talks, they varied from tips on how to avoid common security faults in university websites to a conversation about how developers could become more involved in climate change issues. Informal training took place in the Project Zone and Basecamp, places for people to show off projects they had built, work on new projects, and chat with other developers. Everywhere you looked at Dev8D, people were learning new skills or developing existing skills.

The most narrowly defined training of the week took place in the coding labs, under the guise of ‘programming dojos’. The programming dojos took the essence of paired programming and dressed it up in martial arts, as ‘Ruby on Rails Sensei’ Tim Donohue explains.

“The way it works is that everyone sits in a semi-circle, facing the screen. As the ‘Sensei’ I introduce a problem and challenge the room to solve it. Two people come up and sit in the middle; one is the pilot, who will be typing code, and the other is the co-pilot, who supports and offers suggestions. (Yes, we are mixing our metaphors!) Every ten minutes everyone moves around one place, so the co-pilot becomes pilot, the pilot sits in the semicircle and someone else comes to the middle as the new co-pilot. Everyone is involved in solving the problem, and it’s a very hands-on approach to learning a new language.”

Tom Morris was also involved as a Sensei in a Scala programming dojo. Tom believes that the real value of this kind of training environment is how it develops more than just programming skills. “You can learn how to do something in a book, but this kind of event offers a lot more,” he says. “A lot of people code by themselves, and so something like this is a good way to improve your skills and your confidence in working with other people. In the programming dojo you have to communicate with other people and make decisions as a group – exactly what you have to do in a work situation, when working on a real project.”

Dev8D is a valuable training resource – a cost-effective way for Higher Education institutions to keep their developers up to date with the industry. While the formalised training is undoubtedly useful, it can sometimes be the more informal training which yields the greatest results.

Dev8D facilitates this kind of informal training by cunningly provides lots of opportunities for developers to talk to one another. Whether it’s by building an arduinos together in the workshop or sharing a power socket in the basecamp, there are ample opportunities to meet friendly people who want to talk about their work and are happy to share their skills.

One developer who made the most of an unexpected training situation was Steve Coppin from the University of Kent. Steve met Charles Severance at Dev8D, and was able to work directly with him to create List8D Moodlefication, a plugin he had been planning to work on at the University of Kent – and which ended up winning second place in the IMS / Blackboard challenge. “Creating the plugin back at the university would have taken us two weeks,” says Steve. “But through meeting Charles we’ve actually been able to do it here at Dev8D in two days, and we’ve done it better.”

Dev8D is not just for developers, of course. Dr Peter Murray-Rust from Cambridge University is a chemist not a programmer, but he came to Dev8D because he was interested in how he might be able to learn from what developers were doing. “I had a very interesting conversation with Ben O’Steen from Oxford University about RFID tags,” says Peter. “We’re looking for ways to track items in the lab, and I’ve come away with some really interesting ideas we can start trying out straight away.”

Ongoing training is important in any industry, but in the higher education sectory it is essential. Insttitutions which don’t encourage their developers to keep training risk missing opportunities – opportunties which may lead to new research avenues, opportunities which lead to commercial applications, opportunities which will help institutions to operate better as a whole.

As budgets are tightened across higher education institutions must get smarter in how they approach training – and events like Dev8D could become increasingly useful in maintaining the skills of the sector.

Dev8D: where were the women?

Dev8D was exciting, friendly, encouraging, nurturing and… almost entirely populated by men. Of nearly 300 attendees, only 20 – that’s 7% – were women.

The technology/web development industry is notoriously male-dominated, but even in this context the gender imbalance at Dev8D seemed disproportionate.

We’d like to know what you think. Are we doing enough to attracted women to these kinds of events? What could we do to improve the gender balance? Do you even think it’s an issue?

We’d really appreciate your ideas and opinions on this issue, so please do leave a comment or get in touch with DevCSI with your thoughts.

I have an idea: eco-game

Audawe ElesedyAudawe Elesedy, environmentalist

“My idea is for an eco game. It’s going to be open source from the very beginning, which means there is no fixed plan for exactly how it will look, or what it will do. It’s still very much in the concept stages and we need people to get involved and help us guide it.

The game needs to be centred around environmental issues. Perhaps we could use real-world data like Government statistics on climate change, or people’s individual carbon footprints.

We could look at aggregating tweets or allowing people to record their browsing history, we could even hook in with arduinos to help people bring the game into their real worlds and create sensors for their homes.

The game would be a challenge for players, with problems to solve and rewards to win – it would have to be a satisfying experience to make it fun to play.

We’re still at the very start of how we work on this, and we want it to be a shared open source development from the very start. So get in touch with me if you’d like to get involved!”

Interview: Corinne Welsh

Corinne WelshI provide organisational support services, primarily in the support sector.

What’s your interest in Dev8D?

I do lots of work across different organisations such as education and government agencies, so I have quite a broad range of interests.

I’m very interested in open source software, and also linked data – looking at how things join up together, and how to produce data which is visually interesting to people. Tony Hirst’s talk on Yahoo Pipes was also very good, as was the talk on vector graphics.

A lot of the stuff you get at an event like this are like the discussions you have in the kitchen at a party. it’s all the interesting stuff on the edges.

There’s lots of crossover in the kid of work I do – discussions on how you manage your workload, how to explain what you’re doing, issues around transparency. It’s interesting to make those connections.

Are you involved in any other communities? If so, what and why?

I’m part of a Google group working around open source software. I’m also involved in other  non-technical communities through my work.

Of all the projects or ideas you’ve seen, which will have a longer-term impact?

The project with the wow factor has definitely been the 3D printer. It’s another great example of a cross-over service.

Corinne Welsh is on Twitter at @corinnewelsh

Interview: Kieran Marron

kieranKieran Marron is a web developer at Eduserv, a not-for-profit organisation which delivers technology for various public sector services.

What are you hoping to get out of Dev8D?

This if the first time I’ve ever been to this kind of thing. I’m here out of sheer intrigue! Yesterday morning I attended all of the lightning talks, and I’ve also been to the Zenity coding dojo. The dojo was a very good session, it was a great way to learn from other people.

What kind of skills are you gaining by being here?

I’m very keen to learn more about Zenity, as it’s about repository data stores and sharing data. It’s definitely something we’re going to be using so it’s good to see how it’s been applied early on.

More generally it’s also good to see a whole hall of people working on madcap ideas, just trying things out together and seeing what can happen.

Of all the projects or ideas you’ve seen, which will have the greatest impact?

The 3D printer has definitely stolen the show, It’s absolutely mind boggling! The fact that anyone can do it, and it’s so cheap.

I have an idea: democratic web development

Chuck SeveranceCharles Severance (aka “Dr Chuck”) believes anyone can be a web developer. Here he explains how.

“My crazy dream is for everyone in the world to build their own web applications. Non-technical people are creating content online with text, images and video, but I think there’s scope for so much more. I want to help people create their own Twitters, their own Facebooks – any database-backed website they can think of.

Google have created a way in for this democratisation of web development with their Google Application Engine, which is a free hosted service for apps.

$10 a month for php hosting might not be a big deal for someone in the UK or USA, but for much of the world it’s a lot of money. But now we’re opening up web development to people who might only have access to a computer once a week, from an internet cafe.

So Google have provided the infrastructure for low-cost web applications, but we also need to give non-developers the skills to create whatever they want.

My intention with the book was to take someone who knew nothing about programming, and in a couple of weeks teach them the HTML, CSS and Python they need to create an app which can run in the Google cloud.

I want to bring down the limitations of what you can do online. I want people to leave the limitations of MySpace and instead start thinking of ‘my space’ – their space. Everyone on this planet has the right to own their presence on the internet.

Web development is art, and programming is our paintbrush. We should be opening up this community and giving everyone the tools they need to become artists in our digital landscape.”

Charles Severance’s book Using Google App Engine is published by O’Reilly.

Interview: Steve Lee talks about accessibility

Steve Lee from OSS Watch and Will Walker from GNOMESteve Lee gave a lightning talk on accessibility. Here Steve talks about why accessibility is an important issue for web developers.

“There are a several views with accessibility – the most prevalent is that it’s about helping people with disabilities to interact with technology. But it’s also about widening technology use generally.

The emergence of mobile platforms, for example, has increased the ways in which people use devices. A classic example is a SatNav in a car – it needs audio instructions because it wouldn’t be practical to use a mouse in that situation.

There are certain accessibility issues that we see all the time – one of the worst offenders is requiring users to use a mouse. Blind people don’t use mice, and many people with physical impairments use switches which use keyboard commands. So there’s no way those people would be able to use some whizzy feature you can only see if you wave the mouse cursor.

The other one we see a lot is the alt attribute of images. If you’ve got an important image on a website – and by important I mean an image with isn’t just eye candy – then you need a description of the image so that visually impaired users know what is the purpose of the picture.”

I have an idea: genetic algorthims

ants

Richard Jones from Symplectic Ltd has spent much of Dev8D helping people play with an array of plastic creepy crawlies. Here he explains why.

“What we’re doing here is using genetic programming to look at the unexpected results of simple rules. It’s similar to the way that ant colonies work – nothing in the individual ant tells the ant colony how to behave.

Essentially what we’ve done is create a population of programmes, which are basically strings of characters interpreted as programmes by another piece of software.

We set the 500 programmes – or ‘ants’ – a task: to try and solve maze. How well the ants performed was measured by another programme, which ranked the ants in order from most to least successful.

We took the best ants and ‘bred’ them to create the next generation, which was then better at solving the maze. If we did the same again, the third generation would be better still.

‘Breeding’ in this context is actually fairly true to the biological version – each programme contains 16 ‘genes’, and we select 50% of each ‘parent’ to create the ‘child’. Each gene also goes through a lengthening, shortening or mutating process, so that no child is exactly 50% of both parents. It contains something unique, just as with life.

What’s really interesting is looking at the properties that arise that haven’t been programmed in – the behaviour of the colony that emerges from the behaviour of each ant. Nothing in the individual ant tells us how the whole colony works.

We can take this idea and expand it. It’s how something like Celebrity Big Brother emerges from the given rules of the universe. There is a causal connection from one to the other, but you would never expect it.

To bring it down to a more manageable level, we can use the philosophies of genetic programming to look at something like project management within an institution.

In big organisations there’s sometimes a temptation to work out every element of a project. But what we’re learning from genetic programming is that it’s better to allow these things to emerge naturally out what is needed. What is needed will emerge, what isn’t will die – it’s the basic principle of natural selection.”

Richard Jones is on Twitter at @richard-d-jones.

Interview: Ben Charlton talks about web security

Ben CharlotonBen Charlton is the systems administrator at the University of Kent. He gave a lightning talk on web security, going through the OWASP 10 worst web security mistakes – and how to fix them.

Why did you give a web security talk?

It’s a hobby interest for me and my day job as well, and it seemed an area that was missing on the programme.

Web security is something we’ve had a problem with at Kent, and I imagine lot of other universities will be having similar issues. Universities tend to have a lot of people doing a lot of things online, and there’s not always a great deal of attention paid to security.

I’ve already had someone come up and ask for more details – it’s impossible to cover everything on web security in 15 minutes. Hopefully the people who were in the room can now go and find out more about the issues, and it will lead to more secure websites.

What do you think your institution gains by sending you here?

Kent gain from a greater breadth of knowledge. I’ve found out about LTI – a really useful way of embedding learning objects in a VLE. That’s something we had no idea about until today. So it’s great for picking up on new technology.

Are you involved in any other communities?

List8d is another project I’ve been involved. I’m also interested in library systems.

What kind of skills are you gaining or improving by being here?

From attending Dev8D last year I knew there would be loads of different areas to get involved in. It’s amazing the things you pick up that you never expected to, just from chatting to people.

Of all the projects or ideas you’ve seen, are there any you think can be put into action straight away?

Wookie is interesting, and of course LTI has immediate applications for the University of Kent. There’s also lots of stuff that isn’t directly relevant but makes you a better programmer, like the stuff on genetic algorithms or learning about Clojure.

XKCD400

Image reproduced with permission from XKCD.com

Cloud computing in space

space debrisDr Steven Johnston from Southampton University explain how his team have used cloud computing to predict satellite collisions in space.

10,000 space objects are currently being tracked. These objects are satellites, typically space debris. Johnston’s team are using Azure to project the orbits to predict collisions.

Cloud computing is elastic – it can be scaled up or down, which can be useful for processor-intensive work such as Southampton’s Space Situational Awareness System Tech.

There is a scale of cloud computing, from Amazon Web Services – where you are responsible for managing a virtual machine – to Google Docs, in which you have no control at all over the machines you are working with. In the middle lies Windows Azure. You can’t configure Azure yourself, but it does have a more managed infrastructure.

While Southampton’s space-tracking system relies on Azure, Steven freely admits that both cloud computing in general and Azure in particular have limitations: there’s no standard API for moving a VM, which essentially locks in a user to a particular system; there are bandwidth problems with moving data; and the inherent access limitations make it more difficult to create clusters.

Image: Known orbit planes of Fengyun-1C debris one month after its disintegration by a Chinese interceptor.