Episode Archives

Episode 19. But Wait, there’s more! SerialVersionUID! XMLEncoder/Decoder! Java Beans!

Episode 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 Bean” (Java Beans that is), and discover there isn’t too much to it. If you are persisting and/or transmitting, listen to the shocking conclusion (gasp!) of serialization!

Rate us in iTunes (http://itunes.apple.com/us/podcast/java-pub-house/id467641329)
Follow us in Twitter! https://twitter.com/#!/fguime

http://java.sun.com/developer/technicalArticles/Programming/serialization/ (Serialization/Deserialization)
http://docs.oracle.com/javase/1.5.0/docs/guide/serialization/spec/version.html#6678 (Compatible/Incompatible serialization changes)
http://java.sun.com/products/jfc/tsc/articles/persistence4/ (XMLEncoder/Decoder)

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)

Episode 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 avoid (Out ot memory errors, stale object updates, Not Serializable Exceptions, and toenail fungus!). If you ever considered using ObjectOutput/InputStream, or are actively using in your current projects, take a listen!

https://github.com/eishay/jvm-serializers/wiki/ (Serialization performance comparison for Java, pick one!)

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)

Episode 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 fundamental concepts that describe code beauty. And while there isn’t a consensus (what is beauty anyways), at least there is a baseline for code that is not ugly (hint. It’s maintainable). At least a conversation starter, this podcast covers the very minimum that code has to be to not be ugly!

 

 

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/Java-7-Recipes-Problem-Solution-Approach/dp/1430240563)

Episode 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 hardest part of the state pattern). Check this podcast out, and add another pattern to your toolkit!

 

 

State Pattern (http://en.wikipedia.org/wiki/State_pattern)

 

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/Java-7-Recipes-Problem-Solution-Approach/dp/1430240563)

Episode 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 talk about how to make sure of respecting the EDT, offloading from the EDT, we explain how the EventQueue works, and show THE technique for fast GUI performance. If you know what Swing is, tune in! We will dispell Swing’s performance myths!

Using Aspects to debug Swing Apps (http://weblogs.java.net/blog/alexfromsun/archive/2006/02/debugging_swing.html)
Java Flags for DirectX and OpenGL (http://docs.oracle.com/javase/1.5.0/docs/guide/2d/flags.html)
InvokeLater, InvokeAndWait (http://java.sun.com/products/jfc/tsc/articles/threads/threads1.html)

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/Java-7-Recipes-Problem-Solution-Approach/dp/1430240563)

Episode 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! You’ll become the McGyver of code optimization.

Fork/Join Java 7 (http://docs.oracle.com/javase/tutorial/essential/concurrency/forkjoin.html)
Guava (http://code.google.com/p/guava-libraries/)
Charlie Hunt’s book (http://www.amazon.com/Java-Performance-Charlie-Hunt/dp/0137142528)
OpenCL for Java (http://www.jocl.org/)
Aparapi (http://developer.amd.com/zones/java/aparapi/Pages/default.aspx)

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/Java-7-Recipes-Problem-Solution-Approach/dp/1430240563)

Episode 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 improvement with very little code change (Caching, or pregenerating, or timed-updates). More importantly we go over the process on defining when you have “arrived” at a good optimization point, and hopefully help you optimize what is really important (measuring for performance). If you need to scale up/out and around, listen to this episode!

If you feel you would like to share your optimization experience, go to https://groups.google.com/group/javapubhouse, and post!

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/Java-7-Recipes-Problem-Solution-Approach/dp/1430240563)

Episode 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 also cover the caveats of implementing the MVC, including escaped references in construction, and making the view alway update from the model state. Lastly we talk about where to store view information (such as window size and colors, etc. Hint: not in the model). In all, if you ever needed to touch MVC code, this will help you light the path to awesome interaction! (and ease of unit testing)

http://googletesting.blogspot.com/2009/02/with-all-sport-drug-scandals-of-late.html (Google reference to the MVP pattern)

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/Java-7-Recipes-Problem-Solution-Approach/dp/1430240563)

 

Episode 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 Google group where you can add/post comments and open discussions.

Our new Google Groups
http://groups.google.com/group/javapubhouse/

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)

Episode 10. 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 current (and legacy code). We talked about Dependency Injection (and the Concern of Creation), and Mocking (what it is, and how is it used). In all, if you ever wondered why creating unit tests in your current code is hard, or why are people talking about Dependency Injection (DI), come in, and listen!

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/Java-7-Recipes-Problem-Solution-Approach/dp/1430240563)