• MelbJVM Organisers Meeting

    State Library of Victoria - Welcome Zone

    MelbJVM has been running for over 7 years now. A lot of making sure it happens is down to the work of the volunteer organisers. We meet monthly to plan upcoming speakers, sponsors and other initiatives. If you've been to MelbJVM a few times before and want to help keep a Java / JVM / Graal / Kotlin meetup in town please come along. We meet at the library Welcome Zone, its entrance is on Russell St, near the La Trobe St Corner Note: We use Slack, Trello and an assortment of google tools. If this is your first time to an organiser meeting, firstly thank you ๐Ÿ™, please make sure you've got accounts on these services before you arrive (For slack, go to http://slack.melbjvm.com)

  • Building Search Engine at SEEK.com.au by Mark Pritchard

    This talk will provide a brief introduction to SEEK's search engine - why they built it, how they integrate AI and machine learning, its performance and reliability. Search is a critical component at SEEK - it is the primary way we connect job seekers with opportunities. We made the decision to build our own proprietary AI-based search engine here in Melbourne about 3 years ago, forgoing existing technology such as Elastic and Algolia. This new engine has been progressively deployed through Jora over the past few years and since February this year powers 100% of SEEK AU + NZ job search. The index is ~60Gb, and we regularly hit peaks of over 600 requests per second, maintain a median latency of under 5 milliseconds while sustaining 100+ concurrent index modifications per second. It is 100% Java, running on JDK 11 with the new ZGC collector. As a pure Java solution, the core of this engine is of particular interest. We will deep-dive into the O(1), lock-free, wait-free key/value store. This store supports 100,000+ reads per second per node with sub-microsecond read latency. The talk will describe how modelling the key/value store as a state machine delivers on our goal of lock- and wait-freedom, our use of Unsafe for memory mapped buffers, the flyweight pattern and how we use memory fences to implement safe concurrency across individual cores. Mark is the Director of Search and Technology in the AI Platform Services team at SEEK. He has 25 years of experience in search, computational advertising and high-performance computing. *Sponsors* A big thanks to Oracle+Aconex for providing their venue as our regular home, letting us use their beer taps and fridge, and providing food for these events. Also our other regular sponsors, including ***Hays***, who support the community and facilitate the growth of the meetup. See https://melbjvm.com/sponsors *Find us* Put 22 Duckboard Place into your favourite maps application. We are at the bottom of the alleyway, the corner where Duckboard place bends. Look for a small door under a neon 'TONKA>>>' sign. https://goo.gl/maps/dgWJgtnmKH62

    8
  • MelbJVM Organisers Meeting

    State Library of Victoria - Welcome Zone

    MelbJVM has been running for over 7 years now. A lot of making sure it happens is down to the work of the volunteer organisers. We meet monthly to plan upcoming speakers, sponsors and other initiatives. If you've been to MelbJVM a few times before and want to help keep a Java / JVM / Graal / Kotlin meetup in town please come along. We meet at the library Welcome Zone, its entrance is on Russell St, near the La Trobe St Corner Note: We use Slack, Trello and an assortment of google tools. If this is your first time to an organiser meeting, firstly thank you ๐Ÿ™, please make sure you've got accounts on these services before you arrive (For slack, go to http://slack.melbjvm.com)

  • MelbJVM monthly meetup

    Location visible to members

  • Kotlin Scoping functions and Java 12 Unboxing

    We're excited to have 2 lightening talks coming up: --> Kotlin Scoping functions by Ani Fichadia (Senior Android Developer ) Kotlin has a small handful of scoping functions, which assist developers in writing more terse code. But with terseness, comes readability issues, and choosing the right scoping function isnโ€™t always obvious. Weโ€™ll dig into these topics and try and find the best choices to make with scoping functions. --> Java 12 unboxing by Kon Soulianidis (Full Stack Developer and MelbJVM chief adviser): Kon does a lightning talk about the latest JDK update, as well as a refresher of compatibility with popular libraries and languages for migrating past 8. There are a few new JDKs on the scene too so we'll unbox those too. The MelbJVM user group meets the first Wednesday of every month usually meeting at the Oracle+Aconex office in the CBD. Topics cover Java and related JVM languages, frameworks and other trends on the platform. *Sponsors* A big thanks to Oracle+Aconex for providing their venue as our regular home, letting us use their beer taps and fridge, and providing food for these events. Also our other regular sponsors, including our newest sponsor ***Attribute Group***, who support the community and facilitate the growth of the meetup. See https://melbjvm.com/sponsors *Find us* Put 22 Duckboard Place into your favourite maps application. We are at the bottom of the alleyway, the corner where Duckboard place bends. Look for a small door under a neon 'TONKA>>>' sign. https://goo.gl/maps/dgWJgtnmKH62

    4
  • MelbJVM Organisers Meeting

    State Library of Victoria - Welcome Zone

    2
  • Proxy Deep Dive with Core Java - By Sven Ruppert

    22 Duckboard Pl

    Everybody knows the proxy pattern, but how can you use it effectively? What kind of proxy patterns are available and how can you build patterns more effectively with these? Why is reflection needed for this? Most importantly, how can we only use the Core JDK? In this talk, we will start from the basics and move straight on to DynamicProxies, Dynamic-/Static-ObjectAdapter, DynamicStaticProxies at runtime and more. Would it influence your team members to start using functional aspects in your Core Java Project? How we can combine this with another pattern, Invokedynamic or maybe with another language such as Kotlin? We will have a detailed view on the possibilities to reduce the amount of code with this Pattern, and we will see how we could make it more generic. One of the main points will be the combination of these patterns with for example NestedBuilder-Pattern and more. After this, you will have a better understanding of this pattern group from the practical point of usage. All patterns are build up from scratch, to give a feeling of the way to develop your own pattern based on this talk, or how you could change it for the needs of your project. We will have a deep dive into this pattern group, which I am sure you will enjoy. This talk is based on the German book "Dynamic Proxies" written by Dr. Heinz Kabutz and myself. *Sponsors* ๐ŸŒŸA big thanks to Oracle Aconex for providing their venue as our regular home, letting us use their beer taps and fridge, and providing food for these events. Also our other regular sponsors, including: ๐ŸŒŸ***Attribute Group*** ๐ŸŒŸ***Tek Systems*** See https://melbjvm.com/sponsors *Find us* Put 22 Duckboard Place into your favourite maps application. We are at the bottom of the alleyway, the corner where Duckboard place bends. Look for a small door under a neon 'TONKA>>>' sign. https://goo.gl/maps/dgWJgtnmKH62

    1
  • MelbJVM monthly meetup

    Location visible to members

  • Low level Java optimisation w/Peter Lawrey + Microservices on Spring Cloud

    MelbJVM is running a bit later in the month than usual, but for good reason. Peter Lawrey is back, giving an indepth Java performance optimisation presentation! We also have a lightning talk on Microservices with Spring Cloud. See you Tuesday 9th ----- Agenda ----- 18:30 - Doors open 19:00 - Opening remarks 19:15 - Talks 21:00 - Finishing up and going to the pub As usual food will be provided ----- Lightning talks ------ ๐Ÿ‘‰*Jumpstart Microservice on Spring Cloud* ๐Ÿ“ฃ Fabrice GINAPE | Full Stack Angular-Java Developer @ZWare We will explore the various pieces of Spring Cloud that can connect into to scaffold a microservice service application. ----- Talks ------ ๐Ÿ‘‰*Low level Java optimisation.* ๐Ÿ“ฃ Peter Lawrey This talk looks at two aspects of low level optimising. Firstly we look at how CPUs go cold and perform much slower pretty quickly and what we can do about it in Java with some examples. Secondly we compare performance of the same library written in Java and C , where is Java stronger and where could it be much better. *Sponsors* ๐ŸŒŸA big thanks to Oracle Aconex for providing their venue as our regular home, letting us use their beer taps and fridge, and providing food for these events. Also our other regular sponsors, including: ๐ŸŒŸ***Attribute Group*** ๐ŸŒŸ***Tek Systems*** See https://melbjvm.com/sponsors *Find us* Put 22 Duckboard Place into your favourite maps application. We are at the bottom of the alleyway, the corner where Duckboard place bends. Look for a small door under a neon 'TONKA>>>' sign. https://goo.gl/maps/dgWJgtnmKH62

    8
  • MelbJVM Organisers Meeting

    State Library of Victoria - Welcome Zone