Logo

    Episode 37. Of Bits and Masks and Bytes and Trees and Games

    enApril 12, 2013
    What was the main topic of the podcast episode?
    Summarise the key points discussed in the episode?
    Were there any notable quotes or insights from the speakers?
    Which popular books were mentioned in this episode?
    Were there any points particularly controversial or thought-provoking discussed in the episode?
    Were any current events or trending topics addressed in the episode?

    About this Episode

    Have you ever wonder how bit masking work (or what is that?) and why do you need it? Or why a tree structure exists? (or what is breadth first vs depth first), or what are game trees? We put our Computer Science hat and go "depth first" in some fundamental compsci concepts, and, more importantly their utility, ending with Game trees (and they are not only used for games)!

    Follow
    Me
    on
    Twitter! (@fguime)(thanks!)

     

    Hey it's SPRING! and I would love to get a beer :)


    Tweet, Tweet! (https://twitter.com/#!/fguime)


    Vote for us in iTunes (http://itunes.apple.com/us/podcast/java-pub-house/id467641329)
    Questions, feedback or comments! comments@javapubhouse.com

    Subscribe to our podcast! (http://javapubhouse.libsyn.com/rss)
    ITunes link (http://itunes.apple.com/us/podcast/java-pub-house/id467641329)
    Java 7 Recipes book! (http://www.amazon.com/gp/product/1430240563/ref=as_li_ss_il?ie=UTF8&tag=meq-20&linkCode=as2&camp=1789&creative=390957&creativeASIN=1430240563)
    Hey! if you like what you hear, treat me a beer! (It's the Java pub house after all :) https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=Z8V2ZWV93UMW4

    Recent Episodes from Java Pub House

    Episode 102. Oh my... Spring Boot 3 is out! An interview with Dan Vega from the Pivotal Team!

    Episode 102. Oh my... Spring Boot 3 is out! An interview with Dan Vega from the Pivotal Team!

    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

    Java Pub House
    enFebruary 16, 2023

    Episode 101. Allright, let's talk about Kafka

    Episode 101. Allright, let's talk about Kafka

    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

     

    Java Pub House
    enNovember 08, 2022

    Episode 100. To the CLOUD... Which one? All of them!

    Episode 100. To the CLOUD... Which one? All of them!

    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

     

    Java Pub House
    enFebruary 09, 2022

    Episode 99. SHHH! It's a secret! (Storing API Keys / Passwords / tokens!)

    Episode 99. SHHH! It's a secret! (Storing API Keys / Passwords / tokens!)

    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

     

    Java Pub House
    enJanuary 01, 2022

    Episode 98. It's HERE, FINALLY HERE! Java 17 LTS Release

    Episode 98. It's HERE, FINALLY HERE! Java 17 LTS Release

    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

     

    Java Pub House
    enOctober 05, 2021

    Episode 97. Hey there Scala 3! Looking good with those new Features!

    Episode 97. Hey there Scala 3! Looking good with those new Features!

    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

     

    Java Pub House
    enJuly 08, 2021

    Episode 96. Watching Metrics w/Micrometer and Statsd

    Episode 96. Watching Metrics w/Micrometer and Statsd

    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

     

    Java Pub House
    enMay 10, 2021

    Episode 95. Ludicruos speed! Practical GraalVM

    Episode 95. Ludicruos speed! Practical GraalVM

    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

     

     

    Java Pub House
    enMarch 06, 2021

    Episode 94. Oh, put on your hat Dr. Watson, we are sleuthing this Heap Dump

    Episode 94. Oh, put on your hat Dr. Watson, we are sleuthing this Heap Dump

    So it happens. Sometimes a Java program just "dies" with the dreaded Out-of-memory Exception. Sometimes, it leaves behind a "heap dump", or a copy of what the Java program had in memory when just before it throw the Out-of-memory exception. For some devs, a heap dump is stressful, because they think is a black box with only mysteries, but we are here to calm your fears!

    In this episode we show how Heap dumps are your friends! If you happen to have one, then is almost assured that you can find what caused the out-of-memory, and/or you can "see" what the real values of configuration were. For troubleshooting a production incident, a heap dump becomes invaluable since "nothing" hides from it. Doesn't matter where the code came from, a heap dump will have exactly what each variable was holding and who might be responsible for a memory leak!

    "Memory leak you say? I thought java didn't have memory leaks!". Well, that's the other part of this episode where we discuss while Java has way less worries than (say c++) on allocating and deallocating memory, you can still create Memory leaks by having strong referenced objects that are never removed (and if that sounded like mumbo jumbo, even a better excuse to listen to this episode)

    So, we survived 2020. Take a listen to this end-of-the-year episode, and be even more ready for whatever 2021 throws at us!


    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/

     

    How to capture a Heap Dump
    https://www.baeldung.com/java-heap-dump-capture

    Eclipse Memory Analyzer
    https://www.eclipse.org/mat/


    VisualVM
    https://visualvm.github.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

     

     

    Java Pub House
    enDecember 31, 2020

    Episode 93. Not your Grandpa's Serialization Part DEUX!

    Episode 93. Not your Grandpa's Serialization Part DEUX!

    We're back! and now we move to the new-fangled serialization and deserialization frameworks, starting with Protobufs! Google's contribution to the serialization space, Protobuf V3 makes it easy to create a very efficient on-the-wire serialized representation of objects, and then some. With the ability to have both backwards and forward compatible changes, protobufs is a great choice for transmitting information across services.

    But not to be outdone, @BobPaulin goes in and covers Thrift, which goes a step beyond than just serializing messages, but also takes care of the "Transport layer", adding the ability of doing Remote-procedure-calls! Imagine if instead of saying "I need to send a message to that service, and then the service can process it and send info back", you just said. "I want to call a method on that service with this parameters and get the results". Thrift exposes that functionality by letting you have an interface that you can just call in your client service, and it "magically" coordinates all the gnarly stuff to encode, transmit, execute, decode, and present your call. You don't even have to think (too deeply) about how it all happens. As long as you define your thrift objects, thrift methods, and Thrift transport, the framework will let you just think of methods to call! that's it!

    So in all, a very fun episode where we discover what the new types of serialization frameworks are up to. If you ever had to create a message, or ever had to annotate an object as Serializable, then do take a listen to this episode!

    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
    Java Pub House
    enNovember 08, 2020
    Logo

    © 2024 Podcastworld. All rights reserved

    Stay up to date

    For any inquiries, please email us at hello@podcastworld.io