Year: 2013

Global Day of Coderetreat

gdcr_ad_textGlobal Day of Coderetreat

Last weekend I participated in the 2013 Global Day of Coderetreat, joining the session running at the Xero offices in Wellington, New Zealand. Along with 2,000+ other software developers across 165 locations on all continents, I spent the day honing my software craftsmanship, pair programming with other developers, using test driven development (TDD), and working within a range of changing and challenging design constraints. A coderetreat is an opportunity to look at the same programming problem (typically Conway’s Game of Life) from multiple perspectives, without the pressure to create a finished product but using the opportunity to reflect on how we build software. I would recommend that all software developers, at whatever level of skill and experience, take a look at the coderetreat.org web site and keep a look out for upcoming coderetreats in their local area. If you can’t find one, why not run one yourself? All the information you need is on the web site. The only people who won’t gain anything from it are those who just want to show other people how great they (think they) are. Fortunately, these people are a tiny minority of the software development community. Most of us will embrace the opportunity to challenge themselves and learn from others, in a day of coding that is surprisingly enjoyable.

Social entropy in software

One of the less obvious aspects of software entropy is changes in its social context. I use the Nike + iPod software when I go out running. Despite a recent software upgrade, if I run further than my previous sessions I get a congratulatory message from Lance Armstrong. I don’t imagine Nike really want me to take drugs, but for whatever reason, the context of the message has changed due to reasons outside of the software itself. It started me wondering what social entropy risks might be faced by software. I wonder, for example, if McAfee has experienced any negative affects from the bizarre behaviour of its founder? I’d be interested to hear any thoughts on this subject.

There goes the neighbourhood

Imagine if your neighbourhood was one where criminals blatantly plied their trade down your street, banging on your door at all hours of the day and night and extorting money from you, breaking into houses and taking credit cards, stealing your money to pay for terrorism and other inhuman activities. Imagine that that some of the products you buy compounded the problem because the vendors published all your personal information without checking with you first. Worse, if you called the police, they wouldn’t be able to do anything, because the criminals live in a different neighbourhood where the local law enforcement don’t give a damn. You’d probably like to move, right?

Unfortunately we all live in this neighbourhood, it’s called cyberspace. Every day I am subjected to phishing attacks. Every day I am compelled to use software that is about as secure as a broken padlock. Facebook makes public things that I am sure I never agreed to (but then who can read those pages of tiny print with all the get out clauses). Flickr is determined to give all my photos away unless I constantly tell it not to. More and more of my intellectual property is somewhere ‘in the cloud’ where levels of security are an unknown and there are no guarantees that i can access my own work when I need it.

Maybe we should all wake up a little and realise that we live in a dangerous neighbourhood. Apparently 1.9 million people who had their password stolen from Adobe were using the password 123456. 

http://www.bbc.co.uk/news/technology-24821528

Not, of course, that a ‘stronger’ password would have done any of these people any good if it was stolen anyway. In the end, the more you live on line, the more of your life you have given away for good.

The ICT skills shortage and why bleating is not enough

The shortage of ICT professionals is not a new phenomenon in New Zealand, nor in many other developed economies. Professional organisations such as NZTech and the NZ Institute of IT Professionals (IITP) are well aware of this issue. New Zealand government ministers have recently expressed their own concerns about this.. but hang on… what are they doing about it? The IITP has recently pointed out to the government that its funding for ICT research over the last few years has been pitiful. ICT is treated as a poor relation to other areas of research and development, leading to low investment and, of course, low returns. Government policy influences university policy, so that my own university research goals sideline ICT, indeed most aspects of technology. The underlying thinking seems to be that ICT is just an infrastructure service, not a ‘real’ discipline. Some might say that the link between ICT research and ICT skills in the marketplace are tenuously linked at best. However, perhaps some investment in, for example, ICT scholarships at both undergraduate  and postgraduate levels might be a sign to potential students that the government does actually care about the ICT skills shortage enough to do something about it rather than just bleating.

Too much money chasing not enough IT grads

Too much money chasing not enough IT grads

According the the government’s careers web site, taking data from TradeMe, 6 out of the top 10 paying jobs in New Zealand in 2013 were in Information Technology. The top paying job was IT project manager at $225,000. Strangely, this is a bad thing, because it shows the effect of demand outstripping supply. We just don’t have enough students taking IT and other computing degrees to meet the needs of the NZ IT industry. If we can’t find the skills, the potential benefits to the economy of IT enterprises will be lost and we will be back to cows and timber. Everyone, from the MoE to the schools to the universities, is trying to do something about this, but at the end of the day, an IT career somehow needs to be a more popular option for those still in education.

Still the same old flux capacitor

‘Back To The Future’ was recently on TV again. According to the movie, I should now be driving a fusion powered flying car. Oh well. In another example of how things change more slowly than we may think, I just attended a presentation on Embarcadero’s latest version of RAD Studio, presented by David Intersimone (aka David I). Now David I has been around a long time – he (indirectly) taught me C++. Over 20 years ago I learned to program in C++ using one of Robert Lafore’s excellent C++ books, which came with an interactive computer-based tutorial. Along with this I watched a set of Borland videos, ably presented by David I. I also had access to the Borland C++ compiler so could try things out as I went along. So anyway, there I was at the beginning of 1990s having an interactive multimedia self-paced hands-on learning experience. I must admit that I’m finding it hard to see the vast strides we have made since, apart from the fact that we now have the web, which we didn’t back then, in fact I didn’t even have email. So the delivery channels have changed but I wonder what else we’ve achieved? The latest thing in self-study is, of course, the MOOC, and I have recently signed up for Waikato University’s new MOOC on data mining.  If those guys can teach me half as much as David I and Robert Lafore did in the last century then I will very happy.

Mobile devices in teaching and learning – Top 20 uses

I was recently asked to present some information to a committee about mobile devices in the future of teaching and learning. I made this into a ‘top 20’ list of things that mobile devices can be used for in education, starting with the more obvious and working towards the more interesting.

1. As a mobile web device for access to information

2. As a 24/7 anywhere any time learning device

3. As a support device for organising learning tasks and schedules

4. As a multimedia presentation device

5. As a data capture/ recording device for classroom, homework and field work

6. As a classroom memory (store files, photos of whiteboards, videos of talks etc.)

7. As a sharing device for showing and distributing work

8. As a creative device for capturing, editing and transforming digital material

9. As a host for specific apps for different subject areas

10. As a communications device for collaborative learning (e.g. Twitter, Google Drive)

11. As a feedback device (e.g. live classroom polling)

12. As a support device (task support in situ)

13. As an assessment device (questioning, submitting work, creating assignments)

14. As a tool with sensors (location, accelerometer, gyroscope, compass, weather, luminance etc.)

15. As a scanning device (RFID, bar codes)

16. As a guidance device (geocaching, geotagging)

17. As a testing device for student created apps

18. As a contextual device (location and content aware – learning content tailored to place)

19. As an augmentation device (augmented reality)

20. As an appropriated device (ownership, personalisation)

Information Systems versus Information Technology – Complementary to a ‘T’?

Recently, a colleague from the College of Business and I (in the College of Sciences) have been attempting to play football in the nomansland between the Information Technology and Information Systems disciplines, in an attempt to repair the damage of past turf wars played out within our institution. Central to our discussions are the ACM/IEEE curricula. The most recent ACM IS curriculum dates from 2012 and has 7 authors, while the IT curriculum has 9 authors (none in common with IS) and dates from 2008. The IS curriculum talks about careers and broad courses. The IT curriculum talks about foundations, pillars and capstones. Beneath the differing approaches, however, a common theme emerges. Where the IS curriculum talks about data and information management, the IT curriculum talks about databases. Where the IS curriculum talks about IT infrastructure, the IT curriculum talks about networking. This pattern is repeated in pretty much every area of the two curricula. Together these approaches from a kind of ‘T’ shape in each of the core topic areas. The IS curriculum provides a broad horizontal view of Systems while the IT curriculum provides a vertical dive into supporting Technology. By merging these curricula into a comprehensive programme of IT and IS majors, we can hopefully provide both the breadth and depth of systems knowledge and skills essential to our future graduates.

Testing mobile apps with geolocation and i18n

Testing mobile apps can be tricky, particularly if they use geolocation. Sometimes there’s no substitute for manual testing with a mobile device in situ. For the last couple of years we have been developing a mobile learning game that uses Google Maps to locate geotagged learning tasks. Late last year I was testing it at the University of York in the UK. Instead of the elegant new campus at Heslington East, all Google Maps could show me was a muddy building site from several years previously. I have just returned from a few weeks working at Hanyang University in Seoul, Korea. This time it was the zoom level available in Google maps that was the problem – the satellite pictures of Seoul on Google maps don’t have a suitable level of detail. A further complication in Korea was the task of translating all the game’s text resources into Korean. It was useful to prove to myself that UTF-8 really does work for i18n (internationalization)! However many of the tools on my laptop could not cope with the character set, so kudos to Microsoft Word, with its handy viewer that shows you what your document will look like using different encodings before you load it, and to oXygen’s excellent XML editor that picked up my markup errors. I was also reminded, after some painful debugging, that sometimes the only bulletproof way to render an ampersand (&) in XML is ampersand hash 038 semicolon (no matter how else I tried to write that it rendered it as an ampersand – foolproof!)

Finally, if you’re thinking I could test all that in an emulator from the comfort of my office, we simultaneously tested the app with three similar Samsung phones (after all we were in Korea!)  All three exhibited different behaviour, in particular in their response to the GPS signal. As I said, sometimes there’s no substitute for manual testing with a mobile device in situ.