Freddy Guime

Episode 86. Move Over Slow Startup times, GraalVM…IS…HERE. (and cross-language support, and less memory footprint…)

Oh my! This episode is going to be one of our favorites. There are times where the Java ecosystem delivers something incredibly interesting (InvokeDynamic, Lambdas, Streams, Kotlin), and this episode is one of those! You may have heard it mentioned around the interwebs or conferences (this new GraalVM thing)… well, it’s here to stay and is propelling JVM languages to a whole new level of interoperatibility and performance!

So GraalVM at the very high-level view is a “Java Virtual Machine” (in reality there’s much more to it, but we can at least start there). It provides tons of interesting features, like the ability to not only compile Java/JVM languages, but also Javascript, LLVM Languages (like C++), Python, R (and is expanding to others), and more importantly, interoperatibility between all these languages.

But the bee’s knees (or the most interesting fact) is that GraalVM also have the “Native Image”, which allows you to completely bake in a Linux (more platforms coming) binary straight up from your source code. The Native Image doesn’t require Java to be installed, and you can start your application as you would any other Linux executable. The most impressive part? Startup times are incredibly fast!

So we have usually addressed tons of misinformed myths of the Java language like “It’s slow:” (No, not really), or “You can code more performant code in C++” (possibly, but you have to be an expert to squeeze more performance than the JVM’s JIT compiler). But one area that the claim has held true is that “Java has slow startup times”. And (it used to be) true! Because of the dynamic classloading that Java supports, it’s very hard for the JVM to startup fast. For long running applications this is usually not a problem, even so, for the new Cloud folks (and Lambdas, and AutoScaling Groups), fast startup time is a “thing”. And so, with GraalVM (with some caveats) we are conquering one of the last arguments against the JVM languages.

In all, THIS is the episode to listen this year. It’s exciting, new technology that we could really spin up and use. Let’s have fun programming again with GraalVM.

FOLLOW US JavaPubHouse on twitter! Where we will be sharing new tech news, and tutorials!



We thank DataDogHQ for sponsoring this podcast episode

DataDog Logo
Don’t forget to SUBSCRIBE to our cool NewsCast! Java Off Heap



Do you like the episodes? Want more? Help us out! Buy us a beer!


And Follow us! @javapubhouse and @fguime and @bobpaulin

Episode 85. Monitor the World with JMX!

There are technologies that sometimes are forgotten in a lonely corner, but that actually are quite sturdy. One of these is the All-Powerful Java Management Extensions (also known as JMX). With JMX you can actually expose a lot of metrics of your application and TONS of libraries use it “out of the box”. Libraries like Tomcat, JVM, ActiveMQ, Spring (and ton others) exposes their metrics through JMX. And you can too!

In this episode we go over how to both consume JMX metrics (through JConsole, or statsD, or other Performance Monitoring Tools), and how to produce them as well (By creating your own MBeans), not only that, but we also go with how to be able to “invoke” these on a live application. Have you ever wanted to say “Oh my, I wish I could call this method while the program is running in production ‘At will'”. Well, with MBeans, you can make that happen! Not only that, but if you really want to you can also expose your MBeans through a Rest Endpoint with Jolokia.

FOLLOW US JavaPubHouse on twitter! Where we will be sharing new tech news, and tutorials!



We thank DataDogHQ for sponsoring this podcast episode

DataDog Logo

We also thank OverOps for sponsoring this podcast episode

OverOps Logo
Don’t forget to SUBSCRIBE to our cool NewsCast! Java Off Heap



Do you like the episodes? Want more? Help us out! Buy us a beer!


And Follow us! @javapubhouse and @fguime and @bobpaulin

Episode 84. Let’s get down and dirty w/Netty!

So you get that project that needs to connect to a server that doesn’t talk rest, or http(s), but has its own protocol (or maybe it DOES talk https but you are looking for incredible performance!). Well, look no further than Netty! Sure, sure, you could really spend time working with NIO.2 and creating your own sockets and all that jazz, but why? The Netty.io folks already did it, and by golly they created a library that’s “blazingly fast”.

So take a dive into this episode where we talk about the main netty concepts (like pipelines and handlers), and give you a tip or two as you embark down into protocol performance bliss. Netty has seen it all, and has been battle tested for a while now (Have you heard of Jetty? well, that has Netty under the hood), and best of all, we go over how to be “lazy” about it! Netty really implemented a lot of protocols, events, and stuff already (for example LengthFieldBasedFrameDecoder, ProtobufVarInt32FrameDecoder, SslHandler, WebSocket00FrameDecoder and much more!), so you don’t have to be the wiser and implement things from scratch… chances are… Netty already has them (or at least will have the right tools to create your own thing).

FOLLOW US JavaPubHouse on twitter! Where we will be sharing new tech news, and tutorials!



We thank DataDogHQ for sponsoring this podcast episode

DataDog Logo

We also thank OverOps for sponsoring this podcast episode

OverOps Logo
Don’t forget to SUBSCRIBE to our cool NewsCast! Java Off Heap



Do you like the episodes? Want more? Help us out! Buy us a beer!


And Follow us! @javapubhouse and @fguime and @bobpaulin

Episode 83. Hey! Your app needs its yearly HealthCheck as well!

You got your new project, it’s a brand new service, and is ready to go! But… have you done a health check endpoint for your app? In this day and age of microservices with auto-remediation and auto-scaling, having a well-behaved, functioning health-check is very important since it dictates when to evict, scale up (or down) your service.

And the great news is, that for the “bigger” frameworks (like Spring or Microprofile) the work is almost done for us! With Spring Boot Actuator and Microprofile, we have tons of support and annotations, and built-in healthchecks for the main “things”, like database connectivity, Message Queue connectivity, even Email settings!.

So don’t put it off…start listening to this podcast, and then start creating that oh-so-needed health check for your app! Also, stay tuned to this episode as we give a “hint” of new podcast series to come!

FOLLOW US JavaPubHouse on twitter! Where we will be sharing new tech news, and tutorials!



We thank DataDogHQ for sponsoring this podcast episode

DataDog Logo

We also thank OverOps for sponsoring this podcast episode

OverOps Logo
Don’t forget to SUBSCRIBE to our cool NewsCast! Java Off Heap



Do you like the episodes? Want more? Help us out! Buy us a beer!


And Follow us! @javapubhouse and @fguime and @bobpaulin

Episode 82. Uh-oh Spring… you got some serious competition from Micronaut!

So the internet is all raging about this (not so little) framework that is doing it all. Created with a “cloud-first” mentality, @Micronautfw is aiming to be your next Spring Boot! And, oh gosh, how easy they are making it.

We dive into what makes Micronaut such a darling of the internet right now (not using reflection, GraalVM ready, better memory consumption) and see how much “stuff” is in there (the TLDR; A Lot). We go from creating a microservice, to looking at the different already-implemented features like circuit breakers, properties/profiles, beans, support for lambdas, micrometer, reactive programming, and all. While it might not have “everything” that Spring does, the reality is that it’s pretty solid.

Would you consider Micronaut for your next project? The answer is maybe (and for some cases, maybe Yes). So come, and take a listen to the underdog framework (Micronaut) that’s stepping up to definitively take the reigning Champ (Spring)

FOLLOW US JavaPubHouse on twitter! Where we will be sharing new tech news, and tutorials!



We thank DataDogHQ for sponsoring this podcast episode

DataDog Logo

We also thank OverOps for sponsoring this podcast episode

OverOps Logo
Don’t forget to SUBSCRIBE to our cool NewsCast! Java Off Heap



Do you like the episodes? Want more? Help us out! Buy us a beer!


And Follow us! @javapubhouse and @fguime and @bobpaulin

Episode 81. Let’s Dive into a cool magical library that makes Java way less verbose!

Ah, Project Lombok is one of those little gems in the Java Ecosystem. But it’s interestingly controversial! Some will love it (as I do), others will hate it! But no matter which camp you land on, you should at least know about it!

Project Lombok allows you to, quite easily create your equals/hashcode method, or create a builder pattern for your class, or even generate your getters/setters. All while just adding a simple annotation to your class. How does it do it? (hint. It’s preprocessing bytecode magic) But holy cow, when used responsibly, Lombok allows you to write so little code for a ton of cases. So come take a look at why this library is powerful (and learn its benefits, and as importantly, its pitfalls)

FOLLOW US JavaPubHouse on twitter! Where we will be sharing new tech news, and tutorials!

We also have been revamping our site so go there, take a look, listen to old episodes, or search them!



We thank DataDogHQ for sponsoring this podcast episode




Don’t forget to SUBSCRIBE to our cool NewsCast! Java Off Heap



Do you like the episodes? Want more? Help us out! Buy us a beer!


And Follow us! @javapubhouse and @fguime and @bobpaulin

Episode 80. Ah, Maven Archetypes… it’s gonna get META

Nothing like a cold chilly day to stay inside and program some more. Before you start that new project from scratch, let’s go over a pretty cool feature of Maven. Maven Archetypes! Learn how to create “project templates” for your new maven project… or better yet, use one of the predefined maven archetypes already out there.

We go over how easy is to create your own, and over the flexibility on the things you can do! Are you trying to get all your development teams to start with the same libraries, support, or template? Are you using maven? Then the answer is easy. Create an archetype for them! Come and take a listen as we use Maven to create Maven Template for new Maven projects.

FOLLOW US JavaPubHouse on twitter! Where we will be sharing new tech news, and tutorials!

We also have been revamping our site so go there, take a look, listen to old episodes, or search them!



We thank DataDogHQ for sponsoring this podcast episode




Don’t forget to SUBSCRIBE to our cool NewsCast! Java Off Heap



Do you like the episodes? Want more? Help us out! Buy us a beer!


And Follow us! @javapubhouse and @fguime and @bobpaulin

Episode 79. Here’s a present to you! A library that makes you program less (Apache Commons)

So for our new episode we decided to give YOU a holiday gift! Apache Commons! We covered one of the libraries that is ubiquotous in anyone who programs Java, but that not many know how robust and complete it is!

Do you have to do things like averages, min, max? Or do you have to read CSV files? What about measuring pieces of code with currentTimeMillis? or creating deep copy of Bean objects? Well, these and much more are already supported in the slew of Apache Commons project (and subprojects!). They usually have no transitive dependencies either so they are “ready” for the taking. And because Apache Commons is already used in many open source libraries, chances are that is already in your own project! Making it an easy thing to just start using it.

Happy holidays, enjoy this little gift from all of us :).

FOLLOW US JavaPubHouse on twitter! Where we will be sharing new tech news, and tutorials!

We also have been revamping our site so go there, take a look, listen to old episodes, or search them!



We thank DataDogHQ for sponsoring this podcast episode




Don’t forget to SUBSCRIBE to our cool NewsCast! Java Off Heap



Do you like the episodes? Want more? Help us out! Buy us a beer!


And Follow us! @javapubhouse and @fguime and @bobpaulin

Episode 78. OracleCodeOne, the interviews!

OracleCodeOne just happened… and Freddy and Bob couldn’t go… So they recruited the help of Josh Juneau to go out there and capture interviews from anyone who would talk to us! Apparently they did, and we packaged all in this hour-long episode for your enjoyment! Everything from community building, to what’s hot in the Java space, to takes from the conference are covered in this series of five minute interviews.

So take a listen! It’s the next best thing if we couldn’t go to OracleCodeOne.

And don’t forget to follow JavaPubHouse on twitter! Where we will be sharing new tech news, and tutorials!

Lastly, if you haven’t visited us in a while, javapubhouse.com had a new facelift. We made it easier to find episodes, and information about our podcast!

We thank DataDogHQ for sponsoring this podcast episode

 

Don’t forget to SUBSCRIBE to our cool NewsCast!
Java Off Heap

We want to thank

For participating!

Do you like the episodes? Want more? Help us out! Buy us a beer!




And Follow us! @javapubhouse
and @fguime and @bobpaulin

Episode 77. Sql or NoSql, To Normalize or to Not Normalize… that (STILL) is the question

Episode 77. Sql or NoSql, To Normalize or to Not Normalize… that (STILL) is the question

So you may have thought about using NoSQL or a Document Database for taking care of you needs. But do you know why that might be not be a good (or a pretty bad idea?). Or you may have a Database that have been running fine, but it seems that you can’t work with it anymore? (Is it time to move to NoSql? Would it help?).

We dive into the “Why” would you choose Databases vs NoSQL Data Stores, or when to ditch your MongoDB and actually come back to MySQL. In our current time of “WebScale” and “CloudReady” we get bombarded by choices! (Mongo, Dynamo, MariaDB, ElasticSearch) and while some of the offerings are great, it might not mean that is the Right choice for what we need to store.

So take a listen as we explore normalization and the strength and weaknesses of relational data vs unstructured data.

We thank DataDogHQ for sponsoring this podcast episode

Don’t forget to SUBSCRIBE to our cool NewsCast!
Java Off Heap

 

Do you like the episodes? Want more? Help us out! Buy us a beer!

And Follow us! @javapubhouse
and @fguime and @bobpaulin