For our March meeting, we have a special guest coming in to share with us. Gerrit Grunwald is a Java Champion, a JUG leader, and a Principal Engineer with Azul Systems. He’ll be discussing and demoing a JDK addition that Azul has developed to boost Java application start up times.
Location details updated below |
Since he’s flying in, we’ll have to adjust our normal schedule a bit. We’ll be meeting at 6:30PM, and we’ll be meeting at a new location, the Office of Management and Enterprise Services (OMES) Data Center at 3115 N Lincoln Blvd, Oklahoma City, OK 73105. A big thank you to Joe and Susan at OMES for providing a space for us to meet.
This should be a great — and immediately useful — presentation. I hope to see to you there!
Please be sure to RSVP over at Meetup so we can make an accurate food order.
In a world where microservices are more and more a standard architecture for Java based applications running in the cloud, the JVM warmup time can become a limitation. Especially when you look at spinning up new instances of an app as response to changes in load, the warmup time can be a problem. Native images are one solution to solve these problems because their statically ahead of time compiled code simply doesn’t have to warmup and so has short startup time. But even with the shorter startup time and smaller footprint it doesn’t come without a drawback. The overall performance might be slower because of the missing JIT optimisations at runtime. There is a new OpenJDK project called CRaC (Coordinated Restore at Checkpoint) which goal it is to address the JVM warmup problem with a different approach. The idea is to take a snapshot of the running JVM, store it in files and restore the JVM at a later point in time (or even on another machine). This session will give you a short overview of the CRaC project and shows some results from a proof of concept implementation.
Gerrit Grunwald is a software engineer that loves coding for around 40 years already. He is a true believer in open source and has participated in popular projects like JFXtras.org as well as his own projects (TilesFX, Medusa, Enzo, SteelSeries Swing, SteelSeries Canvas). Gerrit blogs regularly at https://harmonic-code.org, he is an active member of the Java community, where he founded and leads the Java User Group Münster (Germany), he is a JavaOne rockstar and a Java Champion. He is a speaker at conferences and user groups internationally and writes for several magazines.
Our first meeting of the year is scheduled! Our speaker will be our very own Ryan Hoegg. Thanks to the generosity of a local business, we’ll be meeting at a new location, The Verge OKC. There’s parking south of the building, so come up Oklahoma Ave and turn west on Wanda Jackson. There’s a sign with the cost for parking, but tell them that your there for Verge, and we’ll take care of it.
Please be sure to RSVP over at Meetup so we can make an accurate food order.
Looking forward to seeing everyone again!
Managing sensitive information needed by server software is a problem that software teams share with other parts of IT. Let’s explore how modern IT teams solve this problem using dedicated secrets management tools, and how we can incorporate these methods and tools into our Mule applications. Some of the tools we’ll review are Hashicorp Vault, AWS Secrets Manager, Azure Key Vault, and Google Secret Manager.
Ryan Hoegg has been a member of the OKCJUG since 2006, and still writes software!
I know we’ve been down this road before, but I intend to not let it slip this time. :) I’d really like to get this going in SOME fashion. If you have any interest in helping me run the JUG (and I need all the help I can get!), please see our mailing list (or its archive) for more details and to join the discussion.
Here is our mailing list info for the interested:
General List
Steering Committee:
We would be pleased and honored to have you come help us. Or just hang out with us.
After a too-long absence, the Oklahoma City Java Users Group is making a comeback! It’s going to take us a bit to get completely back up to speed, but we’re going to get started then tighten things up as go.
That means, for least this month, we’ll be meeting in a conference room at Starspace (as opposed to the event space used to), at least for now, and no food, so you’ll need to bring your own. We’re working on fixing those logistics, but, as I noted, we’d like to fix things on the move. :)
We don’t currently have a way to RSVP, so just show up. If any of the details change, we’ll update this post and email the list. We hope to see as many of you there as we can.
When writing any non-trivial application, database access is a must, and there’s a myriad of options for abstracting away the database. For many of those, though, you get abstractions at the cost of transparency. "Why did JPA generate that query?" "Why isn’t this join working?" "Why isn’t the query executing?" Fortunately, there is a library that gives you full access to the power and flexibility of SQL while also you giving you Java-friendly APIs.
Type-safe queries? ✓
Executing stored procedures? ✓
ActiveRecords? ✓
All of this and more is possible using jOOQ.
In this session, we’ll see how to get started with jOOQ, take a quick survey of its features, and end with a demo application letting jOOQ sell itself.
Jason Lee is a software developer living in the middle of Oklahoma. He has been a professional developer since 1997, using a variety of languages, including Java, Kotlin, Javascript, PHP, Python, Delphi, and even a bit of C#. He currently works for Red Hat on the WildFly/EAP team, where, among other things, he maintains integrations for some MicroProfile specs, OpenTelemetry, Micrometer, Jakarta Faces, and Bean Validation. (Resume here, LinkedIn here.)
He is the president of the Oklahoma City JUG, an occasional speaker there, as well as at a variety of technical conferences, and a book author.
On the personal side, he is active in his church, and enjoys bass guitar, running, fishing, and a variety of martial arts. He is also married to a beautiful woman, and has two boys, who, thankfully, look like their mother.
Good afternoon, Oklahoma City. It’s been a while since the OKC JUG has met, and we’re trying to fix that. The details are still being working out, but that’s where you come in. As has been the case throughout the history of the JUG, your opinion is desired, and we have an opportunity for you to share it.
We, the Steering Committee, will be meeting Wednesday, August 3 at 11:30 at McAlister’s Deli on NW Expressway. We’re going to work through topics like when to meet, where to meet, how often to meet, and hopefully have some initial sessions scoped out. We’re also going to have some great food and catch up on each other’s' lives from the past two years. :)
If you have any interest in helping steer the JUG, or if you just want to come hang out with some fellow geeks, please come join us. While you’re thinking about it, sign up for the SC mailing list as well!
I hope to see as many of you there as possible!
It’s been a while since you’re heard from us, and for that we’re sorry. There have been a number of circumstances, not the least of which being COVID, that has knocked us off our game. We are currently working diligently to restart the JUG and, hopefully, return to being a fun and helpful part of your work day. :)
]]>The phrase Denotational Semantics is an academic term for mapping programs to mathematical objects as a way to define their meanings. This phrase is not well-known in industry but we use it here to make it clear that this presentation is a shamelss rip off of a talk by Erik Meijer of a similar title. Erik Meijer, the founder of Applied Duality, is often cited as the inventor of 'reactive', a group of frameworks which have shown up in almost every programming language. The universal applicability of Meijer’s initial reactive framework is attributed by Meijer to long-established mathematical principles such as currying, duality, and coproducts. With these few simple constructions we can understand a wide variety of interfaces in a deeper way.
As a practical example, we will cover Meijer’s derivation of Observable/Observer interfaces as duals of Iterable/Iterator interfaces. The takeaway is that every developer can apply denotational semantics to better design and implement common programs.
Justin is an awesome, funny Math guy who’s became a Java prodigy in the last 5 years - switching from academia to the software industry. He holds a PhD in Mathematics from Northwestern University, and works at PCI as a Senior Principal Developer. He’s got a passion for system architecture and super-clean well-structured code.
RSVP via Meetup: https://www.meetup.com/okcjug/events/260243783/
StarSpace46 / Techlahoma: 1141 W Sheridan Ave, Oklahoma City, OK 73106
As microservices have exploded on to the scene, so have microservice frameworks. In the JVM world, we have a myriad of options. In an already crowded space, though, a new framework has appeared that is extremely promising. Micronaut is a polyglot microservice framework from the inventors of the Grails framework, supporting Java, Kotlin, and Groovy out of the box. Micronaut ships with support for a wide number of capabilities, including dependency injection, aspect oriented programming, object relational mapping (via JPA or GORM), cloud native features (Consul, Eureka, Kubernetes, AWS, and others), serverless/functions-as-a-service, and many more. It even comes with a testing framework.
In this presentation, we’ll see how to get started using Micronaut using
a small subset of those features as we build a simple REST service.
We’ll use JPA for persistence, and secure the application using JSON Web
Tokens, all fully tested. At the end of the session, we’ll have a solid
foundation for building microservices using this new offering.
Jason Lee is a Senior Member of the Technical Staff for Oracle working on the GlassFish Administration Console as well as the RESTful Administration interface. Jason has extensive experience working with web-based technologies such as JavaServer Faces and Ajax, as well as many other enterprise technologies based on the GlassFish platform.
Jason has been writing software professionally since 1997 in a wide variety of languages and environments, including Java, PHP, C/C++, and Delphi on both Linux/Unix and Windows. You can read more about what Jason’s working on at his blog.
Most importantly, Jason is married to a beautiful woman and has two sons who, thankfully, look like their mother.
RSVP via Meetup: https://www.meetup.com/okcjug/events/258628656/
StarSpace46 / Techlahoma: 1141 W Sheridan Ave, Oklahoma City, OK 73106
Every developer creating real-world applications will have to eventually troubleshoot code performance issues - sometimes even in Production systems. In this session we will show a couple of essential tools that every Java developer should know about and can use to gather detail performance metrics (CPU, Memory, Threads, Hot Methods, etc.). With the help of these tools you can get to the bottom of tough issues such as bottlenecks caused by locking and memory leaks. We will specifically cover Java Mission Control (JMC), and Eclipse Memory Analyzer Tool (MAT).
Bill Spens is Director of Software Development at Power Costs, Inc. (PCI); He has 10 years of experience troubleshooting Java and Oracle performance and currently focuses on improving processes and efficiency across many agile teams.
John Chesser has been writing Java on the front and back end for 18 years. John focuses on keeping it simple. He has experience writing full systems from scratch and maintaining older systems for companies like Creative Labs Inc. and Powercosts Inc.
RSVP via Meetup: https://www.meetup.com/okcjug/events/258628656/
Clevyr: 912 N Classen Blvd, Oklahoma City, OK 73106
RSVP via Meetup: https://www.meetup.com/okcjug/events/258628656/
StarSpace46 / Techlahoma: 1141 W Sheridan Ave, Oklahoma City, OK 73106
In this session we will showcase the main features of Project Lombok (https://projectlombok.org) and demonstrate how you can make your Java code cleaner, more readable, and way less verbose. With the information shared in this talk you should be able to start using Lombok right away in your Java projects - even legacy projects.
Bryce Easly is a Senior Full Stack Developer who loves technology and has been developing web applications for almost a decade. He’s built complex systems using Java for Southwest Airlines, Power Costs Inc (PCI), and he’s currently at Tango Analytics.