Java Pub House
By Freddy Guime
To listen to an audio podcast, mouse over the title and click Play. Open iTunes to download and subscribe to podcasts.
This podcast talks about how to program in Java; not your tipical system.out.println("Hello world"), but more like real issues, such as O/R setups, threading, getting certain components on the screen or troubleshooting tips and tricks in general. The format is as a podcast so that you can subscribe to it, and then take it with you and listen to it on your way to work (or on your way home), and learn a little bit more (or reinforce what you knew) from it.
||CleanEpisode 40. Don't you hate when static gives you an unexpected jolt? (Discussion on static methods,classes, and inner classes)||So you have programmed for a while, and may even never realized that you have been using them, but there are static methods (which in turn can create static classes), inner classes and static inner classes. Sometimes is hard to understand why or when...||11/18/13||Free||View In iTunes|
||CleanOh My Gosh, is that Arun Gupta, Bruno Souza, Danno Ferrin, Hanz Dockter, Charles Nutter and Yoav Landman? Session Previews (and||So, here's the deal, I went down from Chicago to JavaOne 2013, and took Bob Paulin along. There are sooo many sessions and such great content that it was really hard to know when to start. So we decided to do something cool! We set-up shop in the...||9/25/13||Free||View In iTunes|
||CleanEpisode 39. Do I really have to database it?||It happens all the time, you are working and suddenly you need to database an object. And maybe you have a fancy O/R Mapper or something like that, but we seldomly ask 'do we really need this in a relational format?'. There are actual alternatives...||7/17/13||Free||View In iTunes|
||CleanEpisode 38. Hyperthreading, L1/L2 caching, cache busting, thread trashing, and priority bumping!||So we hear about HyperThreading and how it is sooo cool, well, it is and it isn't. If you are really trying to squeeze performance out of your application HyperThreading might not be what you're looking for. There are so many other things that happens...||5/14/13||Free||View In iTunes|
||CleanEpisode 37. Of Bits and Masks and Bytes and Trees and Games||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...||4/11/13||Free||View In iTunes|
||CleanEpisode 36. An Intro to Multithreading Programming||This is a presentation I did for the Chicago Java Users Group on the topic of multithreading. There are some solid foundations in here to start tackling multithreading programming. Some of it might've been already been seen in depth from our other...||3/3/13||Free||View In iTunes|
||CleanEpisode 35. Recursion, Doubles and Strings (A little for everyone!)||You remember recursion right? that ugly, confusing thing they made you do either on CS-300, or at job interviews. Have you ever wondered how to make it safe and right? and why do we really use recursion? In this episode we go into proper recursion...||2/2/13||Free||View In iTunes|
||CleanEpisode 34. New Year's (2013) Resolution! Less bugs and more coverage!||Episode 34. New Year's (2013) Resolution! Less bugs and more coverage! ---- Ok, so we all celebrated (but may not remember) the end of the old year and the beginning of a new year! This is a time for starting new things, and trying to be a little...||1/13/13||Free||View In iTunes|
||CleanEpisode 33. Does code dream when it hibernates? A quick look on the big things of Hibernate||Episode 33. Does code dream when it hibernates? A quick look on the big things of Hibernate ---- Databases have been around forever! (or at least from the 1970s) and there are many things that try to hook Object Objected Programming with Relational...||12/2/12||Free||View In iTunes|
||CleanEpisode 32. Java 6 is sooooo Last Year. A guide on the features and how-to migrate to Java 7||Shout out to the Chicago Java User's Group! Glad to be part of the Board! And Shout out to Peter Hendriks and Tim Prijn for their presentation!(https://oracleus.activeevents.com/connect/sessionDetail.ww?SESSION_ID=4153). If interested, click on the...||10/28/12||Free||View In iTunes|
||CleanEpisode 31. Know your bounds! Generic bounds that is (a story that extends super!)||Big shout-out to everyone I met at JavaOne (including some avid podcast listeners!). Thanks for listening and for a great time down at JavaOne! Don't worry, we will be sharing all the stuff I learned on new episodes of the podcast. It is also our...||10/10/12||Free||View In iTunes|
||CleanEpisode 30. I always thought Generics were as good as brand name Erasers (Java Generics part 1)||Episode 30. I always thought Generics were as good as brand name Erasers (Java Generics part 1) ---- Hi there! Finally back on a (hopefully) standard schedule. I have been moving a house with three kids, two cats, one wife, one dog, and one grandma...||9/14/12||Free||View In iTunes|
||CleanEpisode 29. Scope (or how far away can you call), Inheritance, marker interfaces, and overrides!||We go and visit the Primordial Java Concepts. As rules set in stone we explore the concept of multiple inheritance, method and variable scope (including the final keyword), abstract methods and @override. This is good for those starting up their Mad...||8/20/12||Free||View In iTunes|
||CleanEpisode 28. Extra! Extra! JMS Delivering Messages to your App! Extra! Extra!||Episode 28. Extra! Extra! JMS Delivering Messages to your App! Extra! Extra! ---- Java Message Service (or JMS for short) is a collection of APIs and implementations that allows you to send "messages" across your applcation. But why is it so popular?,...||8/5/12||Free||View In iTunes|
||CleanEpisode 27. There's a Log File in the folder in the middle of the App||Episode 27. There's a Log File in the folder in the middle of the App ---- (Sing to the children's song There's a hole in the middle of the sea)Logging is part of everyday production debugging life. If you ever had to troubleshoot a production...||7/15/12||Free||View In iTunes|
||CleanEpisode 26. I take Exception to that statement! A quick overview of Exception quirkiness||As developers, we have to deal with Exceptions every day (or at least every other day). In this episode we dive a bit on exception (and exception handling), plus we talk about certain behaviors that are not so well-understood (try returning from a...||6/24/12||Free||View In iTunes|
||CleanEpisode 25. Reflection and vampire classes, and compiling Java from within Java.||Episode 25. Reflection and vampire classes, and compiling Java from within Java. We have heard the word "Reflection" thrown around, what does it mean? it is a new Twilight series? is it about Vampires? In all, we shed sunlight into what reflection is...||6/6/12||Free||View In iTunes|
||CleanEpisode 24. Usability for Engineers. A simple way to achieve usability for the hardcore engineer||Designers will come to you, and say "Hm, I think your program is not as user-friendly". And sometimes, when you ask them to elaborate, they seem to follow a hidden and cryptic ritual. They are right, yet, is hard to see how did they come up with those...||5/6/12||Free||View In iTunes|
||CleanEpisode 23. Who is interrupting me while I sleep in the waiting room? (A talk on wait/notify and interruptedExceptions)||It always starts when you do your first Thread.sleep(). Why do I have to check for InterruptedException? is it serious? why do I have to catch it? We start with answering these questions and step down the rabbit hole to discover the inner workings of...||4/22/12||Free||View In iTunes|
||CleanEpisode 22. Garbage man! An introduction on the finer details Garbage Collection||Garbage collections are like the engine of a car, we know it works, we know that it powers the car, but not much else, but once it breaks down, we usually don't have a too much of a clue on how to fix it. In this episode we talk about how garbage...||4/7/12||Free||View In iTunes|
||CleanEpisode 21. The JVM Crashed...Now what?!||So you're programming along when suddenly support calls and says that the application just "disappeared", or, the server process is not there anymore, both of them leaving you with a hprof.pid file. You have just witnessed the murder of a Java Virtual...||3/22/12||Free||View In iTunes|
||CleanEpisode 20. Excuse me, do you know what Date it is, or what Date is? A discussion about Date and Calendar in Java||In this podcast we turn and talk of that embarassing uncle that every API has (java.util.date), you know, the one that you have to live with because is family, but don't really like that much? We dive into what to avoid when using Date (and Calendar),...||3/8/12||Free||View In iTunes|
||CleanEpisode 19. But Wait, there's more! SerialVersionUID! XMLEncoder/Decoder! Java Beans!||We finish our discussion on the ObjectOutputStream by covering the SerialVersionUID, and then move onto ObjectOutputStream's citadine cousin, XMLEncoder and Decoder (and why would you go and hang out with it). We also make a quick introduction to "The...||3/1/12||Free||View In iTunes|
||CleanEpisode 18. Ahh, the perils of Serialization and Deserialization in Java||We all have the need to serialize/deserialize objects (either through the "wire" or to file). In this podcast we go and analyze what exactly happens when we create an ObjectOutputStream and write to it, and more importantly what pitfalls are there to...||2/16/12||Free||View In iTunes|
||CleanEpisode 17. What is beauty? A discussion about beautiful code||Every developer at one point in time runs into the question, what is beautiful code? Is it code that is expressed concisely? is it code that does a lot in a few lines of code. Well, while we're not the DeveloperPeople's magazine at least there are...||2/9/12||Free||View In iTunes|
||CleanEpisode 16. Let's talk about the STATE of things. A brief intro to the State pattern||The State pattern is very useful, it's just hard to spot, and at the beginning a little hard to understand. On this podcast we cover the state pattern with a specific example of its use, plus tips on how to spot when to use it (really that's the...||2/2/12||Free||View In iTunes|
||CleanEpisode 15. Java Swing and Performance. It's not slow!||Taking the performance theme, we move into the dark corners of Java Swing and discover that it is not a lame horse at all! Swing is very fast (with support for directX and OpenGL!), but sometimes is hard to get it to perform right. In this podcast we...||1/26/12||Free||View In iTunes|
||CleanEpisode 14. Optimizing for Performance - The tools||In the second part of optimization, we talk about the tools (or more properly algorithms) that you can use to optimize a piece of code. Ever wonder how to make a piece of code faster? or difference between caching and Divide-and-Conquer? then tune in!...||1/19/12||Free||View In iTunes|
||CleanEpisode 13. Optimizing for Performance||We all love speed, code speed that is! In this podcast we delve into code optimizations, and what does it mean to optimize for speed. We go over what is the mind-state that you need as you optimize code and offer sneaky shortcuts that allows 10-fold...||1/15/12||Free||View In iTunes|
||CleanEpisode 12. Giving the Model a Controlling View (The Model-View-Controller pattern)||In this podcast we talk about the Model-View-Controller pattern (and is prettier cousin, the Model-View-Presenter), and go over how to go about implementing the MVC/MVP Pattern (really, what to instantiate first, and how to wire the whole thing). We...||1/4/12||Free||View In iTunes|
||CleanEpisode 11. New Year's Resolution: Object Thread Safety! + Listener feedback, and the birth of a Google Group!||In this podcast we air our first question/feedback from our listener and dive a little into it (related to Dependency Injection). We also talk about how to create Thread Safe objects (There is the easy way, and the hard way). And at last! we have a...||12/15/11||Free||View In iTunes|
||CleanEpisode 10. Testing, Testing, 1.2.3! (All about Unit Testing, And Dependency Injection)||Testing, Testing, 1.2.3! (All about Unit Testing, And Dependency Injection) For those Unit Testers out there (and those who want to do more unit tests), this podcast is for you! We cover JUnit in general, and explain how to shoe-in unit tests in...||12/8/11||Free||View In iTunes|
||CleanEpisode 9. It's the Holidays! Let's Decorate!||In this episode we talk about the Decorator pattern and how it is applied. We cover a couple of caveats (especially when combined with the Observer pattern) and learn how to not be afraid of its verboseness. In all, it's the season of decorating, so...||12/1/11||Free||View In iTunes|
||CleanEpisode 8. What's your Aspect?||In this episode we go over Aspects (and AspectJ), what really is, and when to use them. It turns out, that there is nothing misterious about them! We also cover how to set-up Aspects for J2SE so you can start using them immediately! Questions,...||11/17/11||Free||View In iTunes|
||CleanEpisode 7. Threads, Priorities, and Swing's Golden Rule||In this episode we talk about Threads and Threading, the difference between Daemon and User Threads, and why changing priorities is not for the weak of heart. Also we cover Swing's golden Threading rule (with the Event Dispatching Thread). If you ever...||11/10/11||Free||View In iTunes|
||CleanEpisode 6. Observing the Observers, a talk about patterns, observer and listeners!||In this week's podcast we talk about Design Patterns (and the Grand Dads of the Software Patterns, the Gang-of-four), and dive into our first design pattern (of many), the Observer pattern. We discussed how to implemented (within Java), and went to...||11/6/11||Free||View In iTunes|
||CleanEpisode 5. Producing and Consuming, ThreadPoolExecutor, and Latency vs Throughput||In this podcast we dive into the age-old producer and consumer problem, talked about the different aspects of it (what does it really solve?), and explain the difference between throughput vs latency. Lastly we discuss the ThreadPoolExecutor and how...||10/27/11||Free||View In iTunes|
||CleanEpisode 4. List, Set, Maps, HashCode, Equals and ConcurrentMap! Everything to know about Collections!||In this episode we describe the most used collections in the Java framework, and how can they help you out. We also talk about maps (and the importance of immutable keys), and the equals/hashcode contract (why are these anyways? :). Finally we discuss...||10/20/11||Free||View In iTunes|
||CleanEpisode 3. Memory leaks, memory references and garbage collections!||This episode goes deep into memory in Java, understanding how memory leaks happen (and how to solve them!), also how to design to avoid memory leaks, weak and soft references, and how the Garbage collector works (Eden, Tenured, Perm). This podcast...||10/13/11||Free||View In iTunes|
||CleanEpisode 2. Deadlock, Livelock, Escaped locks, and wait - notify oh my!||In this episode of Java pub house, we talk about Deadlocks, livelocks (and other spooky things). Most importantly we talk on how to spot them (using jstack, or visualvm), and how to program defensively against them. We also talk about escaped locks...||9/30/11||Free||View In iTunes|
||CleanEpisode 1. Volatile, and Synchronized||On this Episode, we talk about the keyword "volatile", and what does it really mean. Even if you are a multithreading guru, this chapter goes in deep of the different things that volatile protects you from, including L2 caches and code re-ordering. We...||9/23/11||Free||View In iTunes|
Excellent list of topics. I have just listened to the first 2 episodes. Luv it.
I really like the depth in these podcasts. This is a great contrast to the tech news podcasts out there.
Thanks for putting the time into the show!
Really good podcast to listen to while on the treadmill or driving. Detailed enough to reinforce concepts. Keep up the excellent work Freddy!!