Sunday 30 November 2014

London Java Community - Open Conference 2014

I have had an absolute blast attending my 3rd LJC Unconference! As always I have learnt loads and this year I also had the opportunity to help others find out some nifty things as well :)

Discussion - Concurrent Applications In The Modern JVM & Using Akka

The last four letters of my name are still being horrendously neglected
I took the plunge and got roped in by our funnest software evangelist to answer the call of two developers interested in Modern Concurrency and Akka (@Simon - remember it is Edward - not Ed! :P)

When I originally agreed to do this in the morning, I was hoping for a small group of people to show up and we would have some simple roundtable discussion... Somehow at 3pm I found myself in the main room standing in front of thirty or more people!!! Luckily I had "The One" with me and the LSCC Roundtables have taught me how to lead a discussion (much love to Samir, Sandro and Tom for this!)

To start the discussion, I gave a little rant about how manually wiring up multi-threaded code is really hard and the pitfalls we found when using Akka in BetterRev - an Adopt OpenJDK project to change the way we change Java. From there we all talked about our various experiences and there were some great insights from people on a range of concurrency topics/tools. I really enjoyed the session and hope people got something out of it :)

Developing As A Developer - Getting Involved With The Community

The number of first time attendees to the conference was quite high and I got to speak to a bunch of developers that were just starting their professional careers. My advice to everyone was to get involved with the community, even if you by just blogging! Sharing the interesting things you have learnt is a great way to ensure you reinforce that learning and can lead you to learn new things.

One of the funnest and most rewarding things you can do with the community is to hack together. Attending code dojos and hands on sessions gives you the opportunity to learn more about anything from sweet IDE shortcuts to SOLID software design principles. I cannot recommend these enough!

Conclusion

Another year has passed and I'm already excited for the next conference. My thanks to all that gave me such invaluable advice again and to everyone involved in organising and running the conference!

2 comments:

  1. I'll +1 the post on the discussions about the said topics. It was a pleasure to be in the same room that covered these topics:

    1) disruptor pattern
    2) pushing the complexing of concurrency and threading to the language, platform / OS.
    3) The Actor framework - Akka, uses event buses to exchange messages
    4) When evaluating technology consult the tech evaluation matrix from Matt Raible - http://bit.ly/jvm-frameworks-matrix/, also a presentation worth watching - https://parleys.com/play/52aee01be4b0cc758a75811b/chapter0/about/
    5) When possible avoid hard-core tech like threads and low-level, OS level, hardware level stuff, use a framework instead.
    6) Lot of these technologies were interesting to work with but hard to test, or the tests would be hard to maintain than the implementation themselves.

    I was happy to plug in a few of my own experiences.

    I'll add my person experience which I didn't mention on the day are:
    One of my projects long ago was to process a large ETL transfer from a unknown format to PostgreSQL database, one of the colleagues attempted to do that, too 9 hours of stalling of processes, as the database took forever to write a large chunk of data due to all the memory being hogged by all the processes.

    So I decided to slice the number of records to process per OS task instead of dumping all the records to the database. And when I did that, the OS and database worked hand-in-hand and within under an hour we were able to transfer all the data into the database, see my experience in a post - http://neomatrix369.wordpress.com/2013/09/24/my-experience-of-learning-r-from-basic-graphs-to-performance-tuning/

    We didn't need to resort to any high-tech or performance tuning rather than tuning our process and programs a bit.

    ReplyDelete
    Replies
    1. Thanks for adding all that information Mani! I didn't see this reply until just now :(
      Looking forward to the LJC Unconference this year :D

      Delete