Reflecting on lambdas, open source software and startup strategies at Devoxx 2014

Reporting from Devoxx 2014, Geertjan Wielenga gives us all the latest news from Day Two of the iconic conference, including insights on how to support open source software, what might be included in the future Java 9 release, and even some startup strategies from Java Champion Kirk Pepperdine.

With Day One documented and behind us, a really strong line-up kicked off Day Two of Devoxx 2014. Attendees had to make the impossible choice between super, rockstar speaker Venkat Subramaniam, who can make absolutely anything sound fascinating, Johan Vos with his always pragmatic and insightful takes on future releases and direction of Java EE, an introduction to Apple's recently announced Swift as a replacement for Objective C, and Carl Quinn, yet another speaker totally focused on telling things as they are, on the hottest technology of the moment, Docker. Unsurprisingly, these four opening talks running in parallel, each for three hours with a short break in the middle, were all awesome and highly appreciated. For example, on Twitter, general declarations of admiration for Venkat were matched by recommitments to the reactive manifesto, together with a stated desire to sign the manifesto over and over again. Carl Quinn, dry and focused and crisp as always, explained with many small demos how Docker should very simply be seen as a 'shipping crate,' while eyes were raised in the Swift session at the proximity of Swift to Groovy, especially by Groovy aficionados who tend to see Groovy in every new technology they encounter.

A river runs through it

The next set of university sessions had as two of its highlights a very highly valued walk through of lambdas and streams. New patterns brought by the Stream API, were discussed, with a range of examples, both simple and complex. José Paumard showed a range of new patterns, while talking about their implementation, performances and parallelization. Attendees appreciated the speaker's live programming and found the insights into lambdas and streams, yet another topic, like Docker, running as a river throughout Devoxx, very useful. In a parallel session, also on Java 8, but this time in the context of the Raspberry Pi, attendees learned about unboxing your Raspberry Pi and setting up Java, electrical circuit design for GPIO, using the Java 8 Device Access API, programming common I2C devices, device communication over HTTP, MQTT, and Web Sockets, creating visual and touch UIs, and 3D Printing custom hardware. Throughout, Stephen Chin showed how to build embedded projects for use at home or in the office, while being able to leverage Java programming skills to connect to the Internet of Things. Simultaneously, two deep dive university sessions ran in parallel, one on Contexts and Dependency Injection (CDI), which has in less than 5 years become one of the major specifications in the Java EE platform, while the other focused on RxJava, an open source, polyglot implementation of Reactive Extensions for the JVM.

As always, the topics were diverse and the quality could not have been higher.

Hands on labs that were running concurrently with the above university sessions dealt with a range of code-oriented topics, from Java EE development with Antonio Goncalves and others to finding and solving Java deadlocks, with Heinz Kabutz, who runs the Java Specialists' Newsletter as well as the highly popular and exclusive JCrete . Meanwhile, key Oracle speakers, including Simon Ritter, Stuart Marks, and Angela Caicedo, were running a lab focused on getting developers started with the Java 8 Streams API and lambdas, in a series of exercises intended to get attendees thinking differently about the approach they take to common bulk operations on collections.

The many short Tools in Action sessions were a very eclectic mix, with a range of new names on the block, including, but certainly not limited to, 'mjprof', 'Boxfuse', 'BigQuery JavaScript', 'Algebird', as well as more established technologies that no longer need to be apostrophized, such as Hazelcast.  James McGivern, possibly the world's most passionate and eloquent tester, hustled his audience through a range of testing tips that argued that good old Java JUnit tests do not "have to be ugly unreadable code regurgitations full of repeated lines", while Alexis Moussine-Pouchkine and François Beaufort shared the architecture of the registration experience deployed at Devoxx and at Google I/O 2014, based on a RESTful backend and a ChromeApp running on Chromebooks in kiosk mode and with an NFC library to support attendee badge scanning.

Throughout the day, a well-attended hackergarten was run by uberhacker Andres Almiray. Groups of developers clustered together at the far end of the exhibition room, in groups of two and three, either frantically hacking together code for their sessions, or brainstorming together around themes such as the JavaFX-based tweet wall that was launched during the afternoon, proudly and smoothly displaying all the #devoxx tweets live for all to see.

Open source developers need to eat, too

Some of the evening BOF sessions allowed for a more contemplative mood. Open source thought leaders David Blevins, Johan Vos, and Bruno Lowagie honed in on the recurrent problems related to how the industry looks at open source software. They kicked off the discussion by positing that too often, it is assumed that all open source developers should work for free on open source products and that it is often ignored that they need to make a living as well. "We need to eat, too!" was the fundamental, underlying refrain. Perhaps large companies making use of open source should dedicate at least one member of their team fulltime in contributing to the open source products they benefit from. "We have this fairytale idea that open source is an infinite resource, but it's not," Blevins said. An approach that was suggested is for developers to approach their organization's CTO and say to them: "Let's outsource all our software development to people we don't know" and then, when the CTO looks surprised and annoyed at the suggestion, say: "That's what we're doing already, shouldn't we get to know the organizations behind the software we're using?" The bottom line reached by the end of the discussions was that organizations need to take responsibility. Figure out who is behind the open source software you're using and then feed the fish in one way or another.

The point cannot be made strongly enough that contributing to your own bottom line, which is where a lot of open source software is found, is not charity. It's just basic good business.

Kicking the financial can down the road

Another fascinating BOF discussion was run by Kirk Pepperdine. The starting point of discussion was his assertion that "It's easy to start a company, understanding the hoops you need to jump through to fund it is another." Throughout the discussion, guided by the wealth of experience Kirk has built up over many years, the 'street smarts' needed to survive as a business were addressed, with absolutely fundamental topics such as assignments, dilution, valuations, convertible loans and "all the other nasty stuff that keeps us from coding but also pays the bills".

Pithy lessons were handed out, with wisdom of all kinds spinning around the room. For example, "kick the financial can down the road", that is, the need to (and how to) avoid paying bills until money comes in, the realization that one needs to be insolvent at times, how to get your brilliant idea funded, how to "split the pie", wise insights such as "the best place to get funding is revenue from happy customers", and how to manage venture capitalists, because money is a commodity and has a cost, too.

From  the discussion, it was very clear that others had been down the same road and had learned the hard way how to turn a brilliant idea into a product and, through trial and error, how to build a business around it. And a final thought that attendees were left with was: "When you get the money, don´t spend it." The vagaries of the real world, which take place away from the coding machines, were presented in all of their harsh reality, and clearly Pepperdine knew what he was talking about.

Other BOF sessions held during the evening included an introduction to Clojure, JSR-310 hero Stephen Colebourne talking about new libraries for Java 9, and the traditional Java Community Process discussion with JCP leaders Heather VanCura and Patrick Curran. When Devoxx attendees were finally free to migrate towards Antwerp’s bars, they had a lot to chew over. As always, and as clearly can be seen from this report, the topics were diverse and the quality could not have been higher.

Onwards to the third day of Devoxx, the keynotes, and the official start of the conference!


Get Geertjan’s take on Day One of Devoxx 2014:

2013 sweetheart AngularJS takes a back seat to Docker at Devoxx 2014


Dig Deeper on Software programming languages

Start the conversation

Send me notifications when other members comment.

Please create a username to comment.