NOTE EARLIER START TIME OF 6PM & CHANGE OF DAY TO MONDAY
RSVPs close the night before the meetup.
• Ruwen Schwedewsky will be presenting a quick talk on using JavaAssist to manipulate Java class byte-code.
• Jens Dietrich from Massey University, NZ will present on the topic of Library compatibility and the difference between Source and Binary compatibility. This is based on his research over the last year, and a developer survey conducted around the world.
• Kon Soulianidis will preview his upcoming JavaOne talk, Querying Massive Data Sets in the Cloud with BigQuery and Java.
Ruwen will be demonstrating the use of processing annotations with JavaAssist in order to add behaviour at compile-time.
Ruwen has been using Java since 2005. He is visiting from Germany where he worked for one of Germany's biggest health insurance firms where wrote his thesis on static code analysis.
Real-world programs are neither monolithic nor static – they are constructed using platform and third party libraries, and both programs and libraries continuously evolve in response to change pressure. In case of the Java language, the rules defined in the Java Language and JVM Specs define when library evolution is safe.
These rules distinguish between three types of compatibility - binary, source and behavioural.
In the first part of this talk I will present some puzzlers (in the style of Joshua Bloch’s famous book) showing the inconsistencies between the different types of compatibilities. In the second part, I will talk about some of the research we did in order to figure out what problems this causes in practise: (1) a developer survey showing that the rules of binary compatibility are not well understood by developers, (2) a repository study showing that this causes real problems in projects, and (3) a study on a set of 100+ popular Java programs that shows that incompatible API evolution is common. At the end, I will talk a little bit about tools and methods that can be used to mitigate some of these problems.
Jens has a MSc and a PhD in Mathematics from the University of Leipzig and has worked with object-oriented technologies (mainly Smalltalk and Java) since 1996. He helped to design and implement some of the first large-scale OO enterprise applications for clients like Mercedes Benz and several large banks in Germany, Switzerland, the UK, the US and Namibia. Jens is now Associate Professor in Software Engineering at Massey University New Zealand.
He is interested in design analysis and refactoring (see for instance xplrarc.massey.ac.nz), contracts for dynamic component models (such as OSGi) and testing.
Jens is currently visiting Australia to work with Oracle Labs in Brisbane on new algorithms to be used for the static analysis of the Java platform.
In a recent Java-based project for a big Australian telecommunications company, Google BigQuery was selected for back-end data storage. This enabled its client to interactively query a terabyte of data in 25 seconds—as opposed to 30 minutes with a traditional RDBMS. What’s more, it was able to do it with a SQL-like query language and didn’t have to host any of the infrastructure themselves. This presentation discusses what BigQuery is, how it relates to other big data solutions, and the different mechanisms you can use for querying it from a Java client. It also shows how you can leverage the new Java 8 streaming APIs to efficiently stream massive quantities of data into BigQuery.
6:00 - 6:15 Networking Drinks & Pizza
6:15 - 6:25 News
6:25 - 6:35 Ruwens Talk
6:35 - 7:30 Jens Talk
7:30 - 7:40 Break
7:40 - 8:40 Kons Talk
* Subject to change
Thanks to Peoplebank for once again sponsoring the food & beverages, as well as providing their amazing venue.
We'll be giving away a copy of IntelliJ idea thanks to Jetbrains.
Peoplebank offices are on the south-west corner of Flinders Lane and Queen St. Doors lock at 6pm but someone from Peoplebank will be downstairs to let people in. If when you get there, no one is present, call [masked] and we'll send someone down. For those driving in, there is flat rate (~$10) after hours parking on Market St, between flinders lane and flinders st.