• May PJUG Meetup!

    Online event

    Hey Everyone!

    We will do another virtual meetup. Tyler Van Gorder will be presenting here! Looking forward to having everyone again here virtually, feel free to text/email me with any questions; [masked] or[masked]

    Abstract:

    This talk will focus on how engineering teams can leverage automated refactoring tools that originated at Netflix to greatly reduce the time and effort required when migrating to new versions of frameworks like Spring and JUnit and between language versions.

    Does this scenario sound familiar?

    Your organization has many Java-based microservices and applications that are critical for the day-to-day operation of your business. Over time, you find that your applications have a large number of dependencies on third-party technologies and libraries that have different release cadences. Invariably, your organization encounters pressures to upgrade those dependencies for any number of the following reasons: critical bug fixes, security updates, expiring support, "modernization", or technical enablement. Refactoring a single application to update its third-party dependencies can be a tricky and manual process. At the organization level, performing the same refactoring operation across all of your applications can result in weeks of effort.

    This talk introduces OpenRewrite, an open-source ecosystem that specializes in mass, automated refactoring with a focus on Java source code, Maven build files, XML, YAML, and property files. We will discuss how the framework enables the creation of composable, prepackaged recipes that can be used to automate common framework migration and how these recipes can be integrated into both Maven and Gradle builds.
    This talk will include some live demonstrations of Rewrite's tools to perform automated migrations on real-world, Spring applications and libraries.

    Bio:
    Tyler Van Gorder is a principal software engineer at Moderne Inc where he focuses on frameworks and tools for automated refactoring. He is a committer on the OpenRewrite project and has a passion for building tools that enable developers to do their jobs more effectively. Prior to joining Moderne, Tyler worked as a lead software engineer for a large, e-commerce company where he focused on company-wide libraries using Spring, Spring Boot, and Spring Cloud. In his spare time, you might find Tyler on a basketball court or hiking, with his wife, in the mountains around Portland.

    7
  • April PJUG Meetup!

    Online event

    Hey Everyone!

    We will do another virtual meetup as we close out 2020. Sean Sullivan will be presenting again here! Looking forward to having everyone again here virtually, feel free to text/email me with any questions; [masked] or[masked]

    Topic: Guardrail: State of the Union

    Twilio's Guardrail project is a building block for Java and Scala RESTful API's. This talk will summarize recent enhancements to the Guardrail ecosystem. Attend this presentation if you want to learn about Guardrail's design principles, features, and roadmap

    Sean Sullivan is a software engineer in Portland Oregon. He works on platform systems at Twilio. He is passionate about Scala, code generators, and automated delivery pipelines. Sean is a frequent speaker at the Portland Java User Group.

    1
  • December PJUG Meetup!

    Online event

    Hey Guys!

    We will do another virtual meetup as we close out 2020. Sean Sullivan will be presenting again here! Looking forward to having everyone again here virtually, feel free to text/email me with any questions; [masked] or[masked]

    Topic: Java on AWS

    This presentation is an overview of Java technology on Amazon's cloud platform. We will look at:
    - Amazon's JDK distribution
    - AWS SDK for Java
    - AWS CDK for Java
    - AWS serverless technology

    Join us online for the last PJUG meetup of 2020.

    Sean Sullivan is a software engineer in Portland Oregon. He works on platform systems at Twilio. He is passionate about Scala, code generators, and automated delivery pipelines. Sean is a frequent speaker at the Portland Java User Group.

    Zoom ID/PW
    Meeting ID:[masked]
    Passcode:[masked]

    4
  • PJUG September Meetup!

    Online event

    Hey Guys!

    We are going to get these back up and running! Our own Chris Anatalio will be running our first virtual meetup!

    Abstract:
    Spring Reactive Code. Specifically, we build drone operation software, so I will be showing how we take live telemetry data from a drone and display it live on a Map. So we use Spring Reactive, Protobuffs, RabbitMQ, Websockets and Mapbox.

    Meeting Credentials
    Meeting ID:[masked]
    Passcode: 0AwDPc

    5
  • Virtual April PJUG Meetup

    Online event

    Hello PJUG!

    We got an opportunity from the folks at SecureCodeWarrior to help run a little coding challenge for everyone! It is free to participate, and seems like a lot of fun to go through! I know I will be going through their psuedocode, they have most modern languages available if you want to pick something else besides Java! The competition will be open for 72 hours, you can hop on the website to practice before if you choose!

    #Online Java Secure Coding Tournament 🎁with prizes!

    Join us for an online gamified Java secure coding tournament!

    Compete against your fellow Portland Java User Group peers to identify & fix critical vulnerabilities in real-to-life Java code snippets!

    Prizes:
    🎁1st = Secure Code Warrior hoodie
    🎁2nd and 3rd = Secure Code Warrior t-shirt

    Instructions for playing:
    ✅1) Register for the Secure Code Warrior platform here: https://discover.securecodewarrior.com/PDXJUG-tournament.html
    ✅2) Once logged in: click “Tournaments”
    ✅3) Join the Portland Java User Group Tournament

    🎉 Monitor the live leaderboard to see how you're performing!

    The Secure Code Warrior platform will be open for a month to you, so feel free to practice in the “Training” tab.

    3
  • PJUG February Meetup!

    Oracle Portland

    Hi Everyone!

    I am taking over for coordinating the meetups for PJUG! We will bring pizza, let me know if you have any dietary restrictions, allergies, etc for the meetup! Would love to make these a monthly occurrence, feel free to contact me at [masked] if you would like to present as well!

    Eric Sedlar, VP of Oracle Labs will be coming to Portland and presenting about what they are currently working on!

    The GraalVM Universal Runtime

    Abstract:
    “GraalVM is the first comprehensive multilingual runtime, with a completely language-agnostic architecture and providing competitive (and usually better) performance than runtimes optimized for a single language and with zero-cost interop. We have demonstrated complete language fidelity across a wide variety of languages with many diverse & unusual features such as R, Ruby, and SmallTalk as well as popular languages like JavaScript, Python, and the JVM language family (Java, Scala & Kotlin). We have also built low-level interpreters for LLVM bitcode and X86 assembly that get processed by the GraalVM JIT compiler and run in the managed sandbox (with bounds checks, garbage collection, and so forth).

    GraalVM compiles either in ahead-of-time mode or in a dynamic compilation mode. so you can turn Java into an AOT-compiled language generating a binary executable like C or Go (providing fast startup and low footprint), and make C a JIT-compiled language with garbage collection like Java. GraalVM is also designed to be embedded in other runtimes like databases or edge computing servers, or in dedicated devices with virtualization at the language runtime level.

    In this session you will see some of the different ways to use GraalVM and the ways you can get superior performance and flexibility for your programs, especially for the cloud.

    About Our Presenter:

    Eric Sedlar is Vice President & Technical Director of Oracle Labs. This position entails figuring out how to transfer research results from Labs research into Oracle products & services, as well as setting overall technical direction for new research projects in Oracle Labs. A few of the major projects in Oracle Labs in Eric's team include:

    GraalVM: our multilingual, embeddable, high-performance JIT compiler & runtime
    PGX: Our distributed graph analytics technology
    KeyBridge: a deep-learning facility for security analytics on cloud operations
    RAPID: a scale-out analytics engine for the cloud

    Eric manages over 200 fulltime researchers and developers working on over a dozen separate research areas. Eric's own research interests are in extensible database technologies, and in particular in integration of compiler technologies and database concepts.

    Previously, he led the effort for XML-native storage inside Oracle. Eric has held various architecture and development management positions at Oracle since starting there in 1990. He holds over 68 patents, and has served on standards organizations for Oracle in the W3C and IETF. He co-authored the Best Paper at SIGMOD 2010 on architecture-sensitive search trees.

    1
  • PJUG December Meetup!

    Oracle Portland

    Hi Everyone!

    I am taking over for coordinating the meetups for PJUG! We will bring pizza, let me know if you have any dietary restrictions, allergies, etc for the meetup! Would love to make these a monthly occurrence, feel free to contact me at [masked] if you would like to present as well!

    OpenAPI and Java

    OpenAPI is an essential building block for modern Java applications. OpenAPI has become the de facto standard for describing REST API's. Come learn about OpenAPI tools and libraries in the Java ecosystem.

    Sean Sullivan is a Principal Software Engineer in Portland Oregon. He works on platform systems at Twilio. He is passionate about Scala, code generators, and automated delivery pipelines.

    3
  • PJUG September Meetup!

    Oracle Portland

    Hi Everyone!

    I am taking over for coordinating the meetups for PJUG! We will bring pizza, let me know if you have any dietary restrictions, allergies, etc for the meetup! Would love to make these a monthly occurrence, feel free to contact me at [masked] if you would like to present as well!

    Continuous Delivery with GitHub Actions

    GitHub Actions enable developers to automate builds and deploy code. Actions are an essential building block for continuous delivery pipelines. We’ll review Github’s pre-built Actions and learn how to setup GitHub CI/CD Workflows for Java applications.

    Sean Sullivan is a Principal Software Engineer in Portland Oregon. He works on platform systems at Twilio. He is passionate about Scala, code generators, and automated delivery pipelines.

    1
  • Implementing a Simple JVM in Java and Rust

    Zoom Care

    The JVM is a truly remarkable piece of software, but it is still just a computer program, not magic! In this talk, I will explain how we might start to implement a JVM from scratch, using the Java programming language. Fundamental concepts such as the bytecode interpreter, classfile parsing and memory management will be explained, using an open-source implementation as reference. We will build up a working interpreter capable of executing simple methods, and then discuss the limitations of the simple JVM.

    The second half of the talk will be to show how the Rust programming language provides a good alternative implementation language for our simple JVM. We will showcase some basic Rust language features and show how they can be used to provide a version of our JVM that is much cleaner and easier to understand, even if you've never seen Rust code before!

    Speaker:

    Ben Evans
    Twitter: @kittylyst
    Co-founder of jClarity and a previous representative of the user community as a voting member on Java’s governing body — the JCP Executive Committee (for 6 years) — Ben is regarded as an authority within the Java community. He is the author of five books (‘The Well-Grounded Java Developer’ and the new editions of ‘Java in a Nutshell’, ‘Java: The Legend’ and ‘Optimizing Java’) and writes regularly for industry publications.

    Location:

    Grey WACCOM Building
    Pearl West
    1455 NW Irving Street
    #600
    Portland, OR 97202

    2
  • Reactive Streams with Spring Reactor-Core

    Oracle Portland

    We'll have two 45 minute presentations for this meeting.

    -------- PRESENTATION 1 --------
    ABSTRACT:
    Imagine the rains in Portland (difficult, but do try). Clouds produce the rain, the storm-drain drains it. This is a good analogy for what reactive-streams has to offer. Cloud is the Producer of the stream of rain drops
    Storm Drains are the Subscriber.

    To take the analogy further - the raindrops can be produced by multiple clouds, hence the production can be asynchronous and similarly there will be a lot of different storm drains, thus the draining can be asynchronous. Reactive streams are designed to work with such kinds of asynchronous producers and consumers.

    An interesting thought is what happens if the storm drains cannot drain faster than it rains - it floods. What if we could prevent it - this is where a concept called back-pressure comes in, what if the storm drains could send a signal to the cloud about the rate that they are comfortable consuming the raindrops at!

    If this intrigues you, we will dig deep into the Reactive Streams specification(https://github.com/reactive-streams/reactive-streams-jvm/) and how Spring Reactor-core project(https://projectreactor.io/) makes it simple to produce and consume streams of data.

    SPEAKER:
    Biju Kunjummen is a Lead Software Engineer at Nike and works on Nike’s homegrown CMS product (Content Management System) which powers the content of Nike.com, Nike App and other Nike experiences. He has worked in the software industry for 20 years and loves to share his learnings. He blogs at http://www.java-allandsundry.com/

    -------- PRESENTATION 2 --------
    ABSTRACT:
    Even in cloud environments, a lot of engineering teams still spend plenty of time thinking about infrastructure (VMs, load balancers, auto-scaling groups, etc...). Let's talk about Platform as a Service and the trade offs. This talk focuses on how to quickly get Java workloads running in Azure and how to scale them. We'll include a demo that showcases PaaS workflow integration into common Java tool chains.

    SPEAKER:
    Tyler Holmes is a CTO and Practice Lead for Axian, a local software and data engineering firm. He's been working in various stacks doing consulting/professional services for 15+ years.
    Tyler Holmes: https://www.linkedin.com/in/tylerholmes/

    4