Allright, it is time to pull the curtain on all this AI stuff and really learn how it works! On this episode we dive deep into AI, and Neural Networks, refinenements, vector databases (and why we need them) so you can understand the underlying principles of AI and LLM! The field is so vast, intersting and more importantly it's going to be here to stay. So take a listen and keep learning on this new tool we should all be familiar with!
http://www.javapubhouse.com/datadog We thank DataDogHQ for sponsoring this podcast episode
Don't forget to SUBSCRIBE to our cool NewsCast OffHeap! http://www.javaoffheap.com/
- https://ollama.com/library/llama3.1/blobs/f1cd752815fc - https://onnx.ai/ - https://partee.io/2022/08/11/vector-embeddings/ - https://codelabs.milvus.io/vector-database-101-introduction-to-unstructured-data - https://www.guru99.com/backpropogation-neural-network.html - https://deeplearning4j.konduit.ai/ - https://spring.io/projects/spring-ai - https://medium.com/data-science-at-microsoft/how-large-language-models-work-91c362f5b78f - https://www.v7labs.com/blog/neural-network-architectures-guide
Do you like the episodes? Want more? Help us out! Buy us a beer! https://www.javapubhouse.com/beer
And Follow us! https://www.twitter.com/javapubhouse
So we continue to have guests in our show to talk to us about interesting things... This time is about Apache Tika. This is an incredible tool to do search file processing and metadata extraction. Think about that you have tons of unstructured files, like emails, or documents, and you want to extract, index and then search theses. This is Tika's purpose. And who best to walk us through how it does its magic that its Project Management Committee (PMC) Chair, Tim Allison!
So take a listen as we go deeper on ingesting tons of content (which is fundamental for things like training LLMs).
http://www.javapubhouse.com/datadog We thank DataDogHQ for sponsoring this podcast episode
Don't forget to SUBSCRIBE to our cool NewsCast OffHeap! http://www.javaoffheap.com/
Apache Tika * https://tika.apache.org/
OpenSearch Project and OpenSearch Neural Plugin Tutorials * https://opensearch.org/ * https://opensearch.org/docs/latest/search-plugins/neural-search/ * https://opster.com/guides/opensearch/opensearch-machine-learning/how-to-set-up-vector-search-in-opensearch/ * https://opster.com/guides/opensearch/opensearch-machine-learning/opensearch-hybrid-search/ * https://sease.io/2024/01/opensearch-knn-plugin-tutorial.html * https://sease.io/2024/04/opensearch-neural-search-tutorial-hybrid-search.html
Selected Advanced File Processing toolkits/services * https://unstructured.io/ * https://aws.amazon.com/textract/ * https://azure.microsoft.com/en-us/products/ai-services/ai-document-intelligence
Selected Hybrid Search/RAG toolkits (there are _MANY_ others!) * Haystack: https://haystack.deepset.ai/ * LangChain: https://www.langchain.com/ * LangStream: https://langstream.ai/
Search/Relevance Conferences * https://haystackconf.com/ * https://2024.berlinbuzzwords.de/ * https://mices.co/
Tim's personal project * JavaFX (ahem) tika-config writer UI: https://github.com/tballison/tika-gui-v2
Do you like the episodes? Want more? Help us out! Buy us a beer! https://www.javapubhouse.com/beer
And Follow us! https://www.twitter.com/javapubhouse
We have a great time talking to Matt Topol from Voltron Data on one of his Apache Software Foundation projects called Apache Arrow. It's both a spec and implementation of a columnar data format that is not only efficient, but cross-language compatible. We walk through the scenarios that it covers and how is becoming more and more pivotal for things like ML and LLMs. So come listen to this JPH episode on one of the best and free ways to distribute data and integrate services working on top of that data!
http://www.javapubhouse.com/datadog We thank DataDogHQ for sponsoring this podcast episode
Don't forget to SUBSCRIBE to our cool NewsCast OffHeap! http://www.javaoffheap.com/ - Apache Arrow Project (https://arrow.apache.org/) - Java implementation (https://arrow.apache.org/docs/java/index.html) - In-Memory Analytics with Apache Arrow (https://www.oreilly.com/library/view/in-memory-analytics-with/9781801071031/) - Matt Topol X (Twitter!) Account (https://twitter.com/zeroshade) - Do you like the episodes? Want more? Help us out! Buy us a beer! https://www.javapubhouse.com/beer
And Follow us! https://www.twitter.com/javapubhouse
Ok, so it's an incredible time to be in the Java Ecosystem, and one of the biggest frameworks out there just dropped their three-point-oh version! That's right! So Spring Boot is not officially 3.0, and it has as a Baseline Java 17! (oohh!!). So we brought in the big guns to talk about what does it mean to Upgrade to Spring Boot 3, and what are the new cool toys we can expect from that upgrade!
In all, an amazing interview full of great things that are available NOW (so whatcha waiting for! Upgrade!)
http://www.javapubhouse.com/datadog We thank DataDogHQ for sponsoring this podcast episode
Don't forget to SUBSCRIBE to our cool NewsCast OffHeap! http://www.javaoffheap.com/
- Dan Vega's own What's new in Spring Boot 3 (https://www.danvega.dev/newsletter/whats-new-spring-boot-3/) - Official Spring Framework 6 Wiki (https://github.com/spring-projects/spring-framework/wiki/What's-New-in-Spring-Framework-6.x) - Spring Boot 3, and Spring Framework 6, What's new? (https://www.baeldung.com/spring-boot-3-spring-6-new) - Spring Boot 3 goes GA (https://spring.io/blog/2022/11/24/spring-boot-3-0-goes-ga) - Preparing for Spring Boot 3 (https://spring.io/blog/2022/05/24/preparing-for-spring-boot-3-0) -
Do you like the episodes? Want more? Help us out! Buy us a beer! https://www.javapubhouse.com/beer
And Follow us! https://www.twitter.com/javapubhouse
Whew! So we took a big break over summer (like Bob said, we were just swamped with work.. oof), but we are BACK! and like always we are ready to explore even deeper Java topics for the professional developer.
This time we set our sights in Apache Kafka, one of the (if not THE) dominant distributed messaging framework / broker. If you have been integrating webservices, you might have been running into message brokers (and applying Enterprise Integration Patterns), well if so, you most likely have run into Kafka.
We dive into "What does Kafka Solve", into what it is (and isn't), and why you should use it (or not use it), and how it differs from traditionalling Messaging systems.
In all, this is another episode of "Cloud stuff", and, like you know, that's where everything interesting is at! So have a listen!
http://www.javapubhouse.com/datadog We thank DataDogHQ for sponsoring this podcast episode
Don't forget to SUBSCRIBE to our cool NewsCast OffHeap! http://www.javaoffheap.com/
Apache Kafka https://kafka.apache.org/
Kafka Quick Start https://developer.confluent.io/quickstart/kafka-on-confluent-cloud/
What IS Apache Kafka https://developer.confluent.io/what-is-apache-kafka/
Apache Kafka Quickstart (With Tim Berglund, Hi!!!) https://kafka.apache.org/quickstart
Do you like the episodes? Want more? Help us out! Buy us a beer! https://www.javapubhouse.com/beer
And Follow us! https://www.twitter.com/javapubhouse
Yeah! so we have been working with the cloud for a while, terms like K8s, EC2, Route53, BlobData, CLI has been swinged around... and is a little mysterious, and sometimes looks like a black box where you just click buttons, add things, type commands, until it finally something good happens. But if something bad happens, we tend not to have the slightest idea on why!
Never fear, on this episode of PubHouse we start from the very beginning on describing (And dismantling) what the "Cloud" really is... Starting on how we got there, what are the different "components" of most clouds, and how to reason about them.
This way, the next time something unpredictable happens, you will know exactly where to start troubleshooting and how to navigate this space! This is the first episode of a series (probably a series of 2) on Cloud technologies. So if you never been exposed to the cloud and you're curious, or even if you've been working on it but everything sounds mysterious, then dive in!
http://www.javapubhouse.com/datadog
We thank DataDogHQ for sponsoring this podcast episode
Don't forget to SUBSCRIBE to our cool NewsCast OffHeap! http://www.javaoffheap.com/
Intro to AWS https://docs.aws.amazon.com/whitepapers/latest/aws-overview/introduction.html
What is Elastic Load Balancing https://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/what-is-load-balancing.html
What is Amazon Route 53 https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/Welcome.html
EC2 vs ECS vs Lambda https://www.cloudzero.com/blog/ecs-vs-ec2
Intro to Azure Fundamentals https://docs.microsoft.com/en-us/learn/modules/intro-to-azure-fundamentals/
Azure Containter Registry https://azure.microsoft.com/en-us/services/container-registry/#features
Azure Compute https://azure.microsoft.com/en-us/services/virtual-machines/#overview
Do you like the episodes? Want more? Help us out! Buy us a beer! https://www.javapubhouse.com/beer
And Follow us! https://www.twitter.com/javapubhouse
Ok, so is time to talk about something secretive! Like API Passwords, Auth tokens, or keys... these are things that we want to have as a Secret within our microservice. And yeah, adding them into your source code is a big no-no
Here we cover the dos (and dont's) of secret management, what are the benefits and drawbacks of the different solutions and we explore some of our favorite open source (and Cloud tools) for keeping secrets. We answer some important questions on how to effectively store and manage these secrets (the short answer is don't try to do it yourself!), and end up with the list of best practices for it.
If you are building a non-trivial (or interesting) web service, this is a must-listen episode!
http://www.javapubhouse.com/datadog We thank DataDogHQ for sponsoring this podcast episode
Don't forget to SUBSCRIBE to our cool NewsCast OffHeap! http://www.javaoffheap.com/
Language Features
Using AWS Secrets Manager to manage secrets in Spring Boot https://raymondhlee.wordpress.com/2019/10/11/using-aws-secrets-manager-to-manage-secrets-in-spring-boot-applications/
AWS Secrets Manager https://aws.amazon.com/secrets-manager/
Spring Cloud AWS https://cloud.spring.io/spring-cloud-aws/reference/html/
Hashicorp Vault https://www.vaultproject.io/
Do you like the episodes? Want more? Help us out! Buy us a beer! https://www.javapubhouse.com/beer
And Follow us! https://www.twitter.com/javapubhouse
So is time to celebrate! We got a new box of toys with the new release of Java! This is also a Long-Term-Support release which means that's usually a "good one" to jump into! Switch Expressions! Helpful Nullpointers, Sealed Classes... there is a TON that's new
And we got the best Doctor in town to walk us through all of them. We're of course talking about Stuart Marks! (AKA Dr. Deprecator). We cover most of the important features from 11 to 17 (there's a ton that was left out, so keep following the links to know more!)
http://www.javapubhouse.com/datadog We thank DataDogHQ for sponsoring this podcast episode
Don't forget to SUBSCRIBE to our cool NewsCast OffHeap! http://www.javaoffheap.com/
Language Features
Pattern Matching for instanceof https://docs.oracle.com/en/java/javase/16/language/pattern-matching-instanceof-operator.html
Switch Expressions https://docs.oracle.com/en/java/javase/13/language/switch-expressions.html
Sealed Classes https://docs.oracle.com/en/java/javase/15/language/sealed-classes-and-interfaces.html
Text Blocks https://docs.oracle.com/en/java/javase/13/text_blocks/index.html
Debugging Features
Helpful NullPointerExceptions https://www.baeldung.com/java-14-nullpointerexception
Performance Features
New Garbage Collectors (Shenandoah, ZGC) https://blogs.oracle.com/javamagazine/post/understanding-the-jdks-new-superfast-garbage-collectors
Unix-Domain Socket Channels https://openjdk.java.net/jeps/380
Deprecation & Platform evolution
Remove the Nashorn JavaScript Engine (Plug Graal!) https://openjdk.java.net/jeps/372
Deprecate the Security Manager for Removal and Applets https://openjdk.java.net/jeps/411
Strongly Encapsulate JDK Internals https://openjdk.java.net/jeps/403
Warnings for Value-Based Classes https://openjdk.java.net/jeps/390
Do you like the episodes? Want more? Help us out! Buy us a beer! https://www.javapubhouse.com/beer
And Follow us! https://www.twitter.com/javapubhouse
So while Java is the "main" language of the JVM, it is by no means the "only" language. And one of the purely functional programming languages is getting a new facelift!
Scala has been going through a revamp on the syntax and the features, and if you ever run into a scala user you know how passionate they are about their language! (hint: they love it!)
So while we might be working in Java projects most of our time, it is a good time to revisit that developer toolbox and learn when and where to use it. And if anything else, having a dip into a fully functional programming language teaches any budding developer how to see things differently!
So maybe Scala is "not" the language you want to program all your new projects, but understanding its strengs, its thinking (and with Scala 3) and its purpose, it makes it for a very sharp tool to have at the ready when you really need to tackle that Data Sciency / Functional Programming problem.
In addition, we bring one of the biggest names in the Scala Community to walk us through it all @DeanWampler (https://twitter.com/deanwampler) has been working with Scala since the early days and has just published his new O'Reilly book Programming Scala (https://deanwampler.github.io/books/programmingscala.html). So what are you waiting for, add a new tool to your toolbox with Scala 3.0!
http://www.javapubhouse.com/datadog We thank DataDogHQ for sponsoring this podcast episode
Don't forget to SUBSCRIBE to our cool NewsCast OffHeap! http://www.javaoffheap.com/
Programming Scala (Dean Wampler) https://deanwampler.github.io/books/programmingscala.html
New In Scala 3 https://docs.scala-lang.org/scala3/new-in-scala3.html
Scala 3 Features https://docs.scala-lang.org/scala3/book/scala-features.html
A look at inline https://medium.com/scala-3/scala-3-a-look-at-inline-and-programming-scala-is-now-published-9690ca43c23a
Safer Pattern Matching with Matchable https://medium.com/scala-3/scala-3-safer-pattern-matching-with-matchable-f0396430ded6
Do you like the episodes? Want more? Help us out! Buy us a beer! https://www.javapubhouse.com/beer
And Follow us! https://www.twitter.com/javapubhouse
You'll run it everywhere there's a production system. Some kind of Metrics collector like Statsd or InfluxDB. They work like magic, reporting on the health of your application. but how does it really happen?
We dive in on how these Application Performance Management tools work and how do they really "see into" your application. We demistify all this magic, and actually describe how to add "new" metrics and how to publish it!
If you ever worked in a production application, and were wondering how do these metrics get graphed and collected, well, wonder-no-more! We go deep into Micrometer (the SLF4J of Metrics) and how it all works!
http://www.javaoffheap.com/datadog We thank DataDogHQ for sponsoring this podcast episode
Don't forget to SUBSCRIBE to our cool NewsCast OffHeap! http://www.javaoffheap.com/
Micrometer https://micrometer.io/
Creating Meters https://micrometer.io/docs/concepts#_meters
Spring Boot and Micrometer https://spring.io/blog/2018/03/16/micrometer-spring-boot-2-s-new-application-metrics-collector
Statsd https://github.com/statsd/statsd
Do you like the episodes? Want more? Help us out! Buy us a beer! https://www.javapubhouse.com/beer
And Follow us! https://www.twitter.com/javapubhouse
So we had a previous episode where we show a party trick with GraalVM, where we saw how to create a Native Image. It was really the "hello world" of Native image creation, so Bob decided that's not good enough!
In this epidose we dive a little deeper on how to actually run your Restful Web service (or other app) natively, going through the exercise of debugging GraalVM builds including adding Maven plugins, finding out how to quelch the different reflection errors and how to deal with resources (and those pesky JNI / so libs).
In all, this is more of actually a practical use of GraalVM, not just a "it can do it", but more, how is it done. So want ludicruos startup speed and performance? then press play and listen!
http://www.javaoffheap.com/datadog We thank DataDogHQ for sponsoring this podcast episode
Don't forget to SUBSCRIBE to our cool NewsCast OffHeap! http://www.javaoffheap.com/
GraalVM Native Image Options https://www.graalvm.org/reference-manual/native-image/Options/
Maven GraalVM Native Image Plugin https://www.graalvm.org/reference-manual/native-image/NativeImageMavenPlugin/ Apache HttpComponents http://hc.apache.org/
https://www.graalvm.org/docs/getting-started/linux/
GraalVM Resources https://www.graalvm.org/reference-manual/native-image/Resources/
Build Configuration https://www.graalvm.org/reference-manual/native-image/BuildConfiguration/
GraalVM Example Code https://github.com/bobpaulin/javapubhouse-graal-episode/ https://github.com/bobpaulin/opencv-1/tree/feature/add-native-image
GraalVM Native Image InvalidAlgorithmParameterException https://github.com/oracle/graal/issues/768
Do you like the episodes? Want more? Help us out! Buy us a beer! https://www.javapubhouse.com/beer
And Follow us! https://www.twitter.com/javapubhouse
Your feedback is valuable to us. Should you encounter any bugs, glitches, lack of functionality or other problems, please email us on [email protected] or join Moon.FM Telegram Group where you can talk directly to the dev team who are happy to answer any queries.