Sunday 29 November 2015

London Java Community Open Conference 2015

Yesterday, I saved up enough pennies to go to the annual LJC Open Conference at the IBM building, right next to the National Theatre on London's South Bank, and done in the same brutalist style.


Open Conferences, sometimes called Un-conferences, are where there is no set schedule, other than perhaps, as here, a key-note to start. It's left to the participants to organise the presentations and workshops. This is what makes it cheap, but you get what you pay for.

The Conference Key-note: 20 Years of Java

Starting off with the key note by Simon Ritter and Steve Elliot, both former employees of Sun Micro-Systems (Steve still works for Oracle, Simon does not). This covered Java since it's launch in 1995, showing how the language has evolved from the 200 odd classes in version 1 to the 4000+ in the latest version, 8. They commented that this bloated situation would improve with the introduction of "Jigsaw", the modularisation of the JDK.

Performance by the Numbers with Simon Maple

The first presentation I attended concerned a survey conducted by Simon and his company to see how much performance testing was done by the profession and what effect it had. Unsurprisingly, few tested regularly and most tested in reaction to performance bottlenecks when they were found in production. Most performance bugs were connected to databases as much, if not slightly more, than the applications themselves: JPA and Hibernate being the worse culprits in this regard. The lesson here being performance test early, often and with the right tools.

Microservices in the Real World with Chris Batey


Given the popularity at the moment, and linked, to some extent, with the previous talk, Chris took us through his experiences with microservices, especially dealing with outages and his efforts to make the applications more robust (he recommended Netfix's Hysterix). His slides of the talk can be found here.

Lightning Talks and Lunch

Both before and after lunch there were lightning talks, five minutes where anyone could talk about almost anything. One involved the use of Microsoft's Kinetix to create ghostly 3D images, like a cut-price 3D scanner. Another mentioned a book called "Godel, Escher, Bach: An Eternal Golden Braid" by Douglas Hofstadter, with a view to writing every algorithm that ever could be written.

JDK8 Lambdas and Streams: Beyond the Basics with Simon Ritter

The first proper presentation after lunch was regarding the new features of JDK 8. Simon gave us a few examples of how he has changed his style of programming from the procedural style to the new functional style using lambdas and, especially, streams. In particular, he showed how using the Supplier interface could allow lazy evaluation, something normally only available in interpreted or functional languages such Scala, and how to design and use accumulators for use with Streams.

IoT 4 Java with Carl Jokl


Having been to the presentation earlier in the week on the BBC micro:bit, I was interested to see what the LJC was doing about this. Unfortunately, it's all at the very early stages at the moment and Carl didn't have much to show other than a few concepts: it would have been nice to see some actual things.

Generics: Past, Present and Future with Richard Warburton


Lastly, Richard gave a short presentation on the use of Generics and how they might evolve with future versions. Generics are Java's way of implementing meta-classes, classes built around other classes, Collections being a usual example. Java 7 introduced intersection types to generics, which can make things even more confusing, so you get code like this:


private static <I extends DataInput & Closeable> PersonWithGenerics read(I source)

Allowing any object that implements both DataInput and Closable in it's hierarchy of classes and interfaces to be used. It's a bit like a multiple inheritance workaround.

Richard also showed us was an actual use of the "super" keyword in Generics, something you don't often get. I won't go into it here, as it was somewhat involved, but he put the code for the session on Github.

He also mentioned some ideas for future versions, including Generics for primitive types (not just the objects of types, as at the moment).

Conclusion

Was it worth the £25? Yes, I think so, and 200 other people thought so too. The presentations were of reasonable quality, what I saw, and better than you would expect. Perhaps because it's less contrived than a more expensive conference.

An impression I did get was that Java is starting to be very retrospective: the key-note said nothing about the future, only the past, and it's new features added with JDK 8 are struggling to be accepted. A concern I have with our profession, and Java in particular, is this conservatism and resistance to change.

Tuesday 24 November 2015

IoT Innovators Meetup: Meet the BBC micro:bit with Howard Baker

It's been a while since I attended any hardware meetups and so I went along to a new group meeting at Canonical (the organisation behind Ubuntu) on London's South Bank, behind Tate Modern. Nice offices:


The presentation was given by Howard Baker who is a lead at BBC Learning looking at innovating technologies.


His talk was about the background to the micro:bit, the BBC's initiative to promote software development in schools through a micro device.


It turns out that software development is not taught at schools, something that astounded me (A-Level at least...) and that Universities complain that the entrants to Computer Science courses have to be taught basic programming skills. In answer to this. the current Director General of the BBC wants an initiative to promote programming, in the same way the Model B did all those years ago. Everyone has a computer these days so, after a few false starts, Howard and his team came up with the micro:bit. It has a small ARM chip, a magnetometer, accelerometer and a neat 5 X 5 led display, along with a low power blu-tooth transmitter/receiver. It also has a mini-USB port and external analogue/digital connector.

It's also got a nice web site with on-line editors for producing code to run the hardware, one in a Scratch-like block language, which translates into Microsoft's Touch Develop language, and one for JavaScript. There will, hopefully, be a Python one as well.


The goal is to roll out the device to 1 million children of 11-12 year old's (1st year secondary). Howard emphasised the social aspects of the program, saying that it wasn't just aimed at the children but that the parents could see their children being creative and enthusiastic. In particular, he said that he thought that the idea of owning the technology and making it themselves was fundanental, turning children "from consumers into creators", being influenced to some extent by the Maker movement.

Overall, it was an excellent presentation on an engaging subject, expecially for anyone who tried to play Elite on a Model B. So if you want a look at the future of technology, it will be available from a teenager near you.

After the presentation, I took a few snaps of the buildings around the river, all lit up.



Very festive.

Sunday 15 November 2015

Movie Hardmen - Riddick, The Gunman and Run All Night

In a bit of a movie update, first the belated and imaginatively titled third instalment of the Riddick series.

Our eponymous hero, having grown slipshod in his security arrangements as leader of the Necromongers, finds himself stranded on a hostile planet, pursued by two groups of bounty hunters.


Other than money, it's difficult to see why this film was made, as it's just a rehash of the first film, with bits of the second thrown in for good measure. Mr. Diesel looks like he had fun, and it's all workman-like, just... why bother?

Much better is Sean Penn's attempt at the tough-guy genre with The Gunman. Jim Terrier (Penn), a mercenary working for an NGO in Africa, searches for who sent a hit squad after him.


With a good plot, if a bit slow, and a decent supporting cast including Javier Bardem, Ray Winstone and Mark Rylance, Penn's able to hold down the hard-man role pretty well, and there's plenty of bangs and crashes. It's different enough to be an above average pizza movie.

Lastly, the latest Liam Neeson vehicle. Burn-out gangster and estranged father, Jimmy Conlon, is given a chance at redemption when his son Mike (Joel Kinneman) witnesses a murder.


Neeson seems to be picking better films to do between Taken sequels at the moment, and this is no exception. It's plot keeps a decent pace, if a little predictable, and there's a great supporting cast with Ed Harris as the former friend turned Nemesis. And just in time for Christmas.

Saturday 7 November 2015

Autumnal Equinox

Taking advantage of the light and the air, I took some photos of the trees around the work's estate, resplendent in the Seasons glory:



I also managed to take some photos of the fireworks: