How to Program with Java Podcast

By Best Java podcast on iTunes, learn about variables, control structures, collections, data types, design patterns, object oriented programming, classes and many more step by step Java tutorials

Listen to a podcast, please open Podcast Republic app. Available on Google Play Store.

Category: Software How-To

Open in iTunes

Open RSS feed

Open Website

Rate for this podcast


Learn how to program using the Java programming language. This podcast will teach you step by step how to use the Java programming language to create your own applications or web applications!

Episode Date
EP37 - Null vs Undefined in JavaScript

Show notes for this episode are available via

Don't forget to check out our current "deal" for coders campus available via

Aug 14, 2018
EP36 - Objects in JavaScript

Show notes for this episode are available via

Don't forget to check out our current "deal" for coders campus available via

Aug 06, 2018
EP35 - JavaScript TypeOf Keyword

Show notes for this episode are available via

Don't forget to check out our current "deal" for coders campus available via

Jul 30, 2018
EP 34 - Getting and Showing Data from Users

Show notes for this episode are available via

Don't forget to check out our current "deal" for coders campus available via

Jul 23, 2018
EP33 - Importing JavaScript into HTML

Show notes for this episode are available via

Don't forget to check out our current "deal" for coders campus available via

Jul 16, 2018
EP32 - Debugging in JavaScript

Show notes for this episode are available via

Don't forget to check out our current "deal" for coders campus available via

Jul 09, 2018
EP31 - Functions in JavaScript

Show notes for this episode are available via

Don't forget to check out our current "deal" for coders campus available via

Jul 03, 2018
EP30 - Landing the interview, a coder's guide to applying for jobs

Show notes are available via

If you're interested in grabbing the new "Java Interview Prep Course" you can get a significant discount by joining the "pre-sale" version of the course before Dec. 2017.

This course will be a work in progress until it's expected launch date in Dec 2017. You'll receive dripped access to the new lessons as they are recorded.

If interested in receiving a discount of 50% or higher on this Java interview prep course, please visit


Sep 30, 2017
EP29 - While Loops in JavaScript

Show notes for this episode are available via

Don't forget to check out our current "deal" for coders campus available via


Sep 01, 2017
EP28 - For Loops in JavaScript

Show notes for this episode can be found here:


If you're interested in supporting the show, please leave a rating and review via


And if you are interested in taking your Java skills to the next level, consider taking advantage of our lifetime access deal here:


Aug 25, 2017
EP27 - Jason Kiernan - From Pharmacist to Programming Job Offer in 2 Years

Show notes are available via

Aug 11, 2017
EP26 - IF Statements in JavaScript

Show notes for this episode can be found via


Also don't forget to check out our lifetime membership to Coders Campus and get access to 130+ hours of video tutorial content on full-stack Java. Click here to learn more:


Aug 04, 2017
EP25 - JavaScript Data Types

Checkout the show notes of today's episode via

Also, I've started a brand new "lifetime membership" deal for Coders Campus, you can check out the details of this new offer via


Jul 28, 2017
EP23 - JavaScript Variables

Show notes for this episode are available via

Also, don't forget about the sweet deal I have over at - you help support the show when you join our community of coders. 

Jul 14, 2017
EP22 - What's New in Spring 5 with John Thompson

You can sign up for early access to John's new course (plus a surprise bonus from me) via

Jul 07, 2017
Coders Campus EP21 - Dynamic Typing in JavaScript

Don't forget to check out this sweet deal on a Coders Campus via

You'll get access to over 128 hours of video tutorial content that will teach you how to become a full-stack programmer (including an entire course on JavaScript too!)

Jun 29, 2017
What is JavaScript?

Don't forget to check out the special deal that we're putting on for our podcast listeners via

Jun 22, 2017
EP68 - Subscribe to my new show called the "Coders Campus Podcast"

You can subscribe to the new show via this link:


There will be no more episodes of the How to Program with Java podcast (this podcast), all new episodes will be shared via the Coders Campus Podcast.


So please go subscribe to that one now :)

Jul 01, 2016
Episode 66 - Summer is here and something new is in the air

I'm happy to announce that dropping on July 1st, 2016 - a brand new podcast will be hitting the digital shelves!

Although the How to Program with Java podcast will be coming to an end, I'll be launching a brand new series dedicated to teaching you how to become a full-stack Java web application programmer.

This new podcast will be called the "Coders Campus Podcast", so be sure to search for it in iTunes or wherever you download your podcasts :)


Jun 28, 2016
EP65: HTML Design & Layout

Okay so you know how to add some styles and CSS to your webpage, that’s a great start, but what about deciding where all your text should go?  What if you wanted to setup your website so that you have some text on the left hand side, and some images along the right?

This is where design and layout comes into play.

The DIV tag

Probably one of the most powerful tools at your disposal for designing your webpage is the div tag.  What this allows you to do is essentially outline “blocks” or “areas” for the content on your webpage.  You can think if these areas like boundaries for your content.

Continue Reading Here

Dec 01, 2014
EP 64: CSS 101 Tutorial

Cascading Style Sheets are a bit of a tricky beast in HTML. Given this fact, I wanted to dedicate an entire section to just this topic.

Let’s start with the basics, shall we?

What are Cascading Style Sheets (CSS)?

Well, we’ve already talked a little bit about HTML formatting tags (like 

), but that kind of formatting is embedded within your HTML code itself. What I mean by that is while you are typing out the HTML code for your page, you’ll actually have to type in 

 in order to apply styles to some of your HTML. What if you don’t want to clutter your HTML with style code, but you still want to apply styles to your website… well that’s where CSS comes in.

Cascading Style Sheets actually exist as a completely separate file to your HTML code.

...continue reading

Nov 17, 2014
EP 63: HTML Styles 101

In this HTML tutorial I would like to introduce two concepts to you:

  • Styles


Currently as of the date this was published, web browsers are (mostly) supporting HTML 5. HTML has gone through several versions and variations over it’s lifetime, and because of this it’s highly suggested that you include something called a DOCTYPE. The purpose of a DOCTYPE is to tell the web browsers what version of HTML you are using on any given webpage. The benefit of telling the web-browser what version of HTML you are using is that you save it from having to “guess”, which can often lead to strange behavior.

...Read more

Nov 04, 2014
EP 62: Introduction to HTML

I’m so ridiculously excited to be introducing a whole new aspect of programming. Over the next few months I will be posting new articles on the topics of HTML, Javascript and jQuery. These are all technologies that you can use to create your very own interactive website. The really cool thing about building websites, is that you can leverage your existing knowledge of Java to create ever MORE powerful websites. But let’s not get ahead of ourselves, for now we’ll focus first on HTML, then we’ll move into Javascript/jQuery. But enough big picture talk, let’s get into our introduction to html shall we?


An Introduction to HTML…

HTML stands for HyperText Markup Language, and all this really means is that HTML is not a programming language, but rather just a set of rules for structuring your text. This means that if you type out certain words in a particular way, you can create a website! Piece of cake right? For the most part, YES, it is a piece of cake :)

...Read more here...

Oct 29, 2014
HTML, CSS and JavaScript - Oh My!

The presentation layer is one of the three main layers in object-oriented programming.

The three main layers include:

  • Presentation Layer
  • Business Layer
  • Data Layer

Now, these three layers are typically related to enterprise web applications. It’s a design pattern used to help separate your code out in three distinct areas that (if need be) can easily be switched out with another programming language or technology.

So if you keep all of your presentation layer code in one area of your application, switching presentation layer technologies shouldn’t be too difficult.

Same rules apply to the business and data layers. If you separated your code out properly, switching databases shouldn’t be too big of an issue.

Having said that, we’ll be focusing on the presentation layer.

The four big players (in terms of technology) in the presentation layer are as follows:

(Keep Reading)

Oct 20, 2014
Hibernate Group By

In our last Hibernate lesson, you learned how to fix duplicate data from hibernate queries.

In this lesson we’re going to focus on some of theaggregate functions that can be used with Hibernate, and of course that means diving into theGroup By clause.

What’s important to note is that Hibernate doesn’t ever refer to it as group by, instead they use the term projections.

So, armed with this knowledge, let’s jump into the lesson!

Grouping Data with Hibernate

In our examples, I’m going to show you how to create a query with hibernate that will group your data in some manner.

When we build our query, we will be focusing on using Hibernate’s Criteria queries, which allows for a nice way to build queries without having to know any SQL.

First, let’s start off with an example that we will build on.

...continue reading.

Oct 10, 2014
Fixing Duplicate Data from Hibernate Queries

How to Fix Duplicate Data from Hibernate Queries

This problem was the bane of my existence when I first started using Hibernate because I had no idea where the problem was coming from.

If you’re executing a query and finding that you have a bunch of duplicate records and haven’t a clue why, then you’re in the right place.

You see the problem is typically caused by having left joins (or optional joins) in your objects. When you have a base object, like say User and it joins to another table/object in an optional One-to-Many or optional Many-to-Many format, then you may get duplicates.

Consider this scenario… A User objects joins to the LoginHistory object, which keeps track of all the times a particularUser has logged into the system. And let’s say our user has logged in many times. You’ll have a situation where you have many records in the LoginHistory table.

So what happens when you run a query that joins to the LoginHistory table? Well it will return as many rows as there are entries for that User in the LoginHistory table.

So because of this, Hibernate doesn’t massage the data for you, it just returns exactly what it got from the database. The ball is in your court to tell Hibernate what to do with records it has retrieved.

There are two solutions to this problem:

  1. Declare your joining object as a Set
  2. Make use of Distinct Root Entity Results Transformer

Click Here to Keep Reading

Sep 15, 2014
Hibernate Persistence Life Cycle

Now it’s time to dive into the nitty gritty of Hibernate’s mysterious inner workings.

I’m by no means an expert in Hibernate, but I do use it almost every day for my own projects, so I do know a thing or two about how it works.

One topic that had me scratching my head for ages was the Hibernate life cycle. What I mean by the life cycle is the way Hibernate interacts with Java objects at certain points in the existence of said Java objects.

Let’s start from the beginning…

What the heck is a Hibernate Life Cycle?

You see, Hibernate is picky about your Java objects. Hibernate prefers your objects to be in a certain “state”, known as the persistent state… this persistent state is one of four different states that exist inside of the hibernate persistence life cycle.

Once you have a firm grasp of the different states that an object can be in (as it pertains to Hibernate) you’ll be well on your way to mastering the Hibernate framework.

So let’s get this Hibernate persistence life cycle lesson started shall we?

Continue reading via:

Sep 05, 2014
Fetch Type Lazy Vs Eager

What the heck is a Fetch Type?

Great question! Hibernate is a very handy framework for removing your need to fully understand SQL, but it will force you to understand things such as joins.

Joining two tables in SQL is the foundation of a relational database, as joins allow you to actually define relationships between tables (objects).

Having said that, relationships are important to understand when talking about fetch types in Hibernate. This is the case because whenever you define a relationship in Hibernate, you’ll also need to define the fetch type. The fetch type essentially decides whether or not to load all of the relationships of a particular object/table as soon as the object/table is initially fetched.

For more information please see the show notes via

Aug 27, 2014
Hibernate @ManyToMany Unidirectional and Bidirectional

Hibernate @ManyToMany Unidirectional

The Many-to-Many relationship can be best described by example.

The example we’re going to use is that of the relationship between an Author and a Book.

Authors publish Books, and Books have Authors. Any one Author can publish many Books, and any one Book can be published by many Authors, so this is why it is a many to many relationship.

Other examples of the many to many relationship are Students to Courses and Employees to Projects.

Let’s take a look at how the unidirectional many-to-many relationship is created using Hibernate... for more info please visit

Aug 22, 2014
Hibernate @OneToOne Unidirectional / Bidirectional

One-to-One Unidirectional Relationship

Since you’ve already learned about the ins and outs of how unidirectional one-to-many and bidirectional one-to-many relationships work, it’s time to learn about the One-to-One relationships.

We will start things off with the unidirectional One-to-One relationship and how it’s set up in Hibernate.

First thing is first, you need to understand how a One-to-One relationship is actually set up in a database. Once you understand that the child table declares the parent’s primary key as the child’s primary key, then we can get moving with the Hibernate stuff!

For this example, we are going to use the One-to-One relationship between an Employee and their Address. TheAddress table will be set up as follows:

For more information, please read the show notes via

Aug 08, 2014
Hibernate @OneToMany Bidirectional Relationship

Since we’ve already learned about the unidirectional @ManyToOne relationship, we can now move on to talking about what a bidirectional relationship is like, when using Hibernate. The term “bidirectional” literally means “functioning in two directions”, which is the concept that we will apply in our relationships between two Java objects. When we have a bidirectional relationship between objects, it means that we are able to access Object A from Object B, and Object B from Object A. We can apply this logic to our real world coding example that we saw in the last post. The example we will use is the relationship between an Employer and an Employee. Previously, we only defined a unidirectional relationship, so we could only access the Employer from the Employee object and not vice-versa. Now let’s take a look at how to transform our existing unidirectional relationship into a bidirectional one.

Jul 28, 2014
Mapping Relationships with Hibernate

In the past we have learned about database relationships, specifically the One-to-Many as well as the Many-to-Many and One-to-One and that was all good, great and grand…

But now I want to talk about how to create those same relationships inside of Hibernate.

Specifically, I want to focus on the One-to-Many relationship in Hibernate and how we go about mapping it out in our Java objects.

But before we do, a word on unidirectional and bidirectional relationships.

Unidirectional vs Bidirectional

In Hibernate, it’s possible to map all three relationships that are available in a standard database, these include:

  • One-to-One
  • One-to-Many
  • Many-to-Many

But what Hibernate also includes is the ability to make EACH of those relationships either unidirectional or bidirectional.

This means that we can have a unidirectional One-to-One and a bidirectional One-to-One mapping, as well as a unidirectional One-to-Many and a bidirectional One-to-Many, as well as a unidirectional Many-to-Many and a bidirectional Many-to-Many relationship.

That’s a lot of relationships!

So what exactly are unidirectional and bidirectional relationships?

Learn more on the show notes page via

Jul 23, 2014
Hibernate - Creating Data Access Objects (DAOs)

Data Access Objects – What are they?

Data Access Objects (or DAOs for short) are used as a direct line of connection and communication with our database. DAOs are used when the actual CRUD (CRUD = Create, Read, Update, Delete) operations are needed and invoked in our Java code. These data access objects also represent the “data layer” of our application.

These objects are still just plain old Java objects that incorporate the use of some Hibernate annotations to give them the functionality we need from them. Again, that functionality being the communication with the database.

Also, believe it or not, the concept of creating a file specifically for accessing the database is a design pattern. It’s called the Data Access Object Pattern and you can read more about it from this nice short Wiki article.

What Hibernate Annotations Should We Use?

Okay, so now that you’re somewhat familiar with DAOs, it’s time to learn how to integrate these plain old Java objects with our Hibernate framework (so they actually do the work we need them to do).

There are two main annotations that you need to be familiar with:

  • @Repository
  • @Transactional

To learn more, visit our show notes page via

Jul 15, 2014
Hibernate's most important annotation - @Entity

What You’ll Learn

The focus of this podcast / blog post is to teach you how to create the connection between your Java objects and the SQL Database tables. Remember, the whole point of the Hibernate framework is for you to be able to write Java code that allows you to communicate with your database.

When I say that the goal is to communicate with your database, what I mean is:

  1. Create the tables (if they’re not already there) that will represent your Java objects
  2. Give Java the ability to send queries and execute scripts on your database
  3. Establish a transactional means by which to perform CRUD operations

What we’re going to be tackling in this post will the step #1, how to get Hibernate to create our tables for us.

Jul 08, 2014
Hibernate Persistence for Beginners

What is a Persistence Framework?

As the name implies, it has something to do with persisting things... this means that we're still talking about databases.  But what is it that we are persisting with this framework?

Objects (of course)

A persistence framework is something we use in Java to bridge the gap between Java and SQL.

Hopefully we've gone through all of my previous tutorials and have learned a thing or two about Java and SQL.  But one thing I haven't taught you yet, is how to put your knowledge of SQL into Java.

That's what I'll be teaching you throughout these Hibernate (persistence framework) tutorials.

And if you haven't guessed it already, Hibernate is a persistence framework that you can use in Java.  It's what allows you to write Java code (staying true to Object Oriented programming practices) and yet still be able to communicate with your database.  Cool eh?

For more information on this, check out the show notes page via:

Jul 03, 2014
The SQL Subquery

The SQL Subquery

Now that you’ve learned about SQL Joinsaggregate functionsand the group by keyword, it’s time we moved on to our final topic in our SQL tutorial series. Today you’ll be learning all about SQL Subqueries, how to use them and when you should use a SQL subquery.

So, what is a subquery?

First and foremost, let’s get the jargon out of the way. A subquery can also be referred to as a nested query. It’s just like having a nested if statement in your Java code. Essentially what you’re doing with a subquery is you are constructing a regular old query (select statement) which could be run all by itself if you wanted to, but instead of running it all by itself, you’re jamming it into another query (select statement) to give you more specific (filtered) results.

What’s very important to note here is that the SQL subquery can almost always be re-written as a join with a whereclause attached to it.

More info on this via

Jun 25, 2014
SQL Group By

After having talked about all the SQL Aggregate functions, there’s one more topic that goes hand in hand with what we’ve already learned… The group by keyword.

This particular keyword allows us to take a bunch of data and mash it all together into matching groups and then perform aggregate functions on those groups (like sum and avg).

You might ask yourself why you’d want to “mash together” a bunch of data. The answer to this is best explained with an example, but let me try to put it in regular words before we jump into our example. Grouping data together allows us to look at aggregate data in relation to unique piece of data (or rows), a typical use case would be to group all the matching data together so you can get a count of the number of occurrences of specific data. An example related to grouping and counting could be a presidential election, you’ll have all the votes in a database and you’ll want to group that data together to get the total votes for each unique candidate...

For more info, check out the show notes via


Jun 16, 2014
SQL Aggregate Functions

In today’s podcast episode you’ll be learning all about the aggregate functions that exist in SQL.

What the heck is an aggregate function? Well that’s what I’m going to try and teach you today, and I promise, it’s not a difficult concept to grasp. Just think of an aggregate function as a method that you’re calling that will process data in your database and return a value. Obviously the returned value will depend on which of the aggregate functions you choose to use.

So that begs an obvious question, what are the aggregate functions that we can use in SQL? I’m glad you asked, here’s the ones that I use all the time in MySQL:

  • MAX
  • MIN
  • SUM
  • AVG

Okay, great! So now we know what the names of these functions are, now let’s see some examples of them in use!

Jun 05, 2014
Database Joins

There are three categories of joins that you can make use of in SQL:

  •   Inner Join
  •   Outer Join
  •   Cross Join


But before we dive into the categories of joins, we first need to have an understanding of what a join really is.

Joins are used in SQL to bring together all the relevant data from multiple database tables.  Remember that we've broken data down into multiple tables and established relationships between the tables.


... More via show notes:

May 28, 2014
Enforcing Database Relationships Part II

In this SQL tutorial episode/post we’re going to learn how to enforce our SQL relationships that we’ve already learned about. We’re going to be tackling the one-to-one and many-to-many relationships and we’re going to learn how to write the code to enforce these relationships in our database.

As outlined in the podcast, we are going to be focusing on the many-to-many relationship with the author and bookexample. Remember that one author can publish many books, and one book can be written by many authors. This indicates a many-to-many relationship and I’m going to show you how to enforce that relationship in your database...


Show notes available via

May 23, 2014
Creating Database Tables in MySQL

You’ve learned all about how to create sql queries to read, write, update and delete data… but you haven’t yet learned how to create the tables where you’ll be doing the reading, writing, updating and deleting.

So that’s what today’s podcast is all about, be sure to click the play button above this to listen to the show and then follow along with the notes via

May 14, 2014
Database Relationships: Many-to-Many and One-to-One

Show Notes available via:


In this post we will be expanding on the topic of database relationships and touch on two that are less common but just as useful.

Many-to-Many Relationship

The many-to-many database relationship is used when you are in the situation where the rows in the first table can map to multiple rows in the second table… and those rows in the second table can also map to multiple (different) rows in the first table.


One-to-One Relationship

A One-to-One relationship means that you have two tables that have a relationship, but that relationship only exists in such a way that any given row from Table A can have at most one matching row in Table B.

May 14, 2014
Database Relationships – One to Many

We’ve talked about relational databases already, and we’ve learned why this type of database management really dovetails with the object oriented programming model. So now I want to dive into the specifics when it comes to relationships.

What are the different types of relationships in SQL?

There are three types of relationships you can have in SQL, they are:

  1. One-to-Many
  2. One-to-One
  3. Many-to-Many

In this episode we are going to be focusing on the One-to-Many relationship as it’s the most commonly used in my opinion.

Dec 12, 2013
Database Terminology - Relationships, Joins and Keys


It's the foundation when learning any new concepts.  In this episode of the "How to Program with Java Podcast" we will be talking about some new database terminology.

One of the most important aspects of modern databases is the fact that they allow you to define relationships.

Relationships between tables allow you to break data up into its individual "areas of interest".  But when you break the data up, you'll need to know how to put it back together.  This is accomplished using relationships, keys and joins.

There's plenty to learn about these concepts and we will start by scratching the surface in this episode.

Exciting Announcement

As you'll hear in the first few minutes of this episode, I've recently had an epiphone!  

I realized that there's no great communities dedicated to programmers.

So I took it upon myself to create the very first community dedicated to programmers and the pursuit of knowledge and advancement of our common goals (to excel as programmers).  You'll learn lots about this community in the episode, so I won't go in to details here, but if you're interested in checking it out - please visit:

Dec 04, 2013
CRUD Operations - Syntax for Interacting with your Database

What’s all this CRUD about?

  • Create
  • Read
  • Update
  • Delete

This is the at the heart of all databases and SQL. A database essentially carries out these four operations over and over again for the duration of its existence.

In this podcast, I talk about these four database operations in detail and the actual syntax that is used in a flavour of SQL known as MySQL.

Nov 28, 2013
Intro to Databases and SQL

Ladies and gentlemen the time has come for you to start learning about Databases and SQL.

In this episode I will talk about the very basics of databases and why it is they exist in the first place.  You'll learn things like:

  • What exactly is a Database, and what ulitimate purpose does it serve?
  • Why are modern databases referred to as relational databases?
  • What a database does, day in and day out, it's sole purpose in life is essentially CRUD!
  • How does SQL fit into the database equation
  • Why it was that Trevor failed his first database course in university!  For shame!

Learning and understanding databases is more is less a required skill in these modern days of programming, and at the very least, having knowledge about databases will give you a leg up on any competition.  So pay attention boys and girls, and strap on your thinking caps, because this ride is getting started.

Nov 13, 2013
Let's talk AJAX - It's not just for cleaning anymore!

AJAX (Asynchronous Javascript and XML) is a techonology used to create Rich Internet Applications (RIA).  

If you're asking "what the heck does that mean!?"  You're in the right place

In this podcast episode we will talk about the uses for AJAX and how it can lead to a much nicer web browsing experience for your Java web applications.

What else will you learn about in this episode?

  • The difference between an HttpRequest and an XMLHttpRequest
  • Why it's annoying when your website has to refresh every time you submit a form
  • The workflow behind how websites like Google Finance or live sports scores work
  • What JavaScript frameworks make dealing with AJAX easier
  • Why AJAX isn't really AJAX anymore (it's more like AJAJ, but that doesn't roll off the tongue!)

Nov 07, 2013
Intro to Algorithms and Big-O Notation

An algorithm is essentially a well defined set of instructions that get carried out by a computer in an automated fashion to solve a problem.  A good example of this is to say "How would you tell a computer to figure out which of the 5 balls I've given to you is the heaviest (or lightest)".  In order to solve this "problem", you'll need to define a set of steps for the computer to carry out in order to reach a conclusion and solve the problem.

Algorithms are very common in programming, as you are constantly trying to tell the computer how to solve problems in a step by step manner.

The Big-O Notation is the way we determine how fast any given algorithm is when put through its paces.  

Consider this scenario: You are typing a search term into Google like "How to Program with Java" or "Java Video Tutorials", you hit search, and you need to wait about 30 seconds before all of the results are on the screen and ready to go...  Would you still use Google?  Or would you start shopping around with other search engines to find one that is faster?  My guess is you'd start shopping around.

Speed is everything these days, and building slow software is infuriating to users even if they aren't even paying for the software.

Oct 30, 2013
Spring Security

Ever wondered how you could properly restrict access to certain parts of your web application?  

Do you have an application that has a user registration page and a user login page?

Spring Security is the answer if you have a web application created with the Spring Framework!

Spring Security will restrict access to any URLs that point to your web application based on your custom configuration.

Learn how in this week's How to Program with Java podcast.

Oct 23, 2013
Data Binding with Spring Framework

So, the Spring framework is a wonderful help for programmers, but sometimes it needs a bit of help.  It does a good job of trying to match fields on a webpage to Java objects (aka Java Beans), but sometimes when the "mapping" is complex, Spring needs our help.

In this episode I will explain exactly how you can go about something known as "custom binding".  This process allows you to take any text from the presentation layer and convert/bind it to the appropriate Java object (Java Bean) on the server side.

Oct 16, 2013
Spring Framework - Fun with Controllers

In our last episode I talked about controllers and how they are used in Spring.  In this episode I will be diving even further into Controllers in the Spring Framework and I will talk about the different parameters that can be passed into each method within each Controller.

For example, there are HttpServletRequest objects, Model objects as well as @RequestParam and @ModelAttribute annotations that can be used within your Controller's methods.  The beauty of the Spring framework is that you can pick and choose which ones you want to include within any given method.

Oct 09, 2013
Intro to the Spring Framework

Well, so far we've been focusing on a bunch of topics that align themselves around the Java programming language in general.  But now we're going to take things into a slightly new direction, we're going to be talking about the Spring Framework -- more specifically, Controllers and the Spring Framework.

You see, my goal for this blog and podcast has been to not only teach you the Java programming language, but also teach you how you can build a web application.  So, this is the first step in that direction.

Aug 15, 2013
Java Observer, Observable Design Pattern

Today let's talk about some design patterns, namely the Observer design pattern which can be used in Java.  Following the Oberser design pattern in Java is as easy as extending the Observable object and implementing the Observer interface for the appropriate objects.  

Don't have a clue what the appropriate objects are?  Well then that's what this episode is all about!  You'll learn what the design pattern is, how it can be used, and how BIG companies have used it in their powerful frameworks.  Don't miss it!

Jul 26, 2013
Interview w/ Self-Taught Programmer Troy Davis

In this epsidoe of the How to Program with Java podcast, I talk with a self-taught programmer who has started up his own very successful marketing product based on his programming knowledge.  Troy was graduated with a degree that would have had him working as an audio engineer, but instead took a 180 and pursued his passion for tech and programming.  Now he's the big cheese (CTO) and living the dream.  Find out how he did it, and how YOU too can do it on this great podcast interview.

Jun 20, 2013
The Agile Development Methodology

If you've worked as a developer for a corporation, you've likely been exposed to the waterfall model of software development... If not, consider yourself lucky.  I've worked in this model before and it had its issues, but thankfully I was introduced to the Agile development methodology in the latter years of my career as an employee and I got a lot from the experience.  This podcast episode is dedicated to talking about the Agile methodology and recounts my experiences with it and how I went through my days using the Agile process.

In the episode we will talk about:

  • Standup meetings
  • Backlog grooming
  • Story Planning
  • Review and Retrospectives
  • Story Cards and estimation points
  • Sticky Notes for Tasks
  • and more!

Plenty to learn about, and plenty to get excited about!

May 29, 2013
Alan Robbins - Self-taught Programmer Success Story

Alan Robbins is a self-taught programmer who dabbled with programming in college.  After not doing to well in the post-secondary system with respect to programming, he changed his major and graduated with a degree in Business Economics and a minor in Psychology and Philosophy.

After graduating, he decided that he had a knack for programming (even if the "system" told him otherwise) so he ended up getting an entry level job as a programmer.  Since then, he's started up a couple of businesses and is now running a very successful software development company with 40 employees and "lives the dream" by working from home.

May 22, 2013
The Software Development Life-Cycle

Knowing how to program with Java is only some of the battle when it comes to developing software, the other major part of the battle is knowing HOW to distribute the software.  There are entire schools of thought that surround the ways that you can release software, but in this podcast episode we will focus on two methodologies.

The software development life-cycle is the broad term that defines methodologies like:

  • Waterfall Model
  • Agile Development

Have a listen, get informed and happy learning!

May 16, 2013
From self-taught programmer to self-made success story - Interview with John Sextro

Keeping on our theme of becoming a success story with programming as a self-taught programmer, I interview a successful self-taught programmer by the name of John Sextro.  As a seasoned programmer and agile coach with no degrees or diplomas, John made it to 'the big show' by impressing one of the gatekeepers of that coveted 'entry level programmer' position.  Find out how he managed to kick start his career in today's interview.

May 08, 2013
Getting a Job as a Self-Taught Programmer

Landing a job as a self-taught programmer is not impossible, and I will have an in-depth conversation about why this is the case.  I will talk about strategies like creating your own software product based on your own interests, then slapping that on your resume and impressing potential employers.  Finding programming contracts and getting paid to learn how to program and building up your marketable experience.  I will also cover how to meet people and get interviews ON THE SPOT so you can land a job and get that all important real world working experience!  Have a listen and take action!

May 03, 2013
Encapsulation and Final Keyword in Java

Learn all about one of the four major principles of Object Oriented Programming (encapsulation) as well as the "final" keyword.  In this episode I also dive into the popular topic of Java Certification.  Learn what certifications you can get, what you should do to prepare, as well as what materials I'd suggest picking up to give yourself the best chance of success!

Apr 26, 2013
Java Interview Question - Part II

In this session I will cover some additional Java interview questions that you should be able to answer.  I also cover some general tips that you should keep in mind when being interviewed (as it's not just these questions you'll need to be able to answer if you want to land the job).

Apr 19, 2013
Java Interview Questions Part I

This is part I of a series of episodes dedicated to common questions that are asked in entry level Java interview situations.  The questions covered in this episode are some basic questions that I uncovered across the internet (and there are even questions I've asked in an actual interview situation myself).  Enjoy!

Apr 12, 2013
Mocking in Java

In this episode you'll hear what mocking is all about and how it can be used to help you in your unit testing journey.  Mocking is all about testing chunks of code in solutide, without having any dependecies on other Objects (as this would sully your unit test).

Mar 29, 2013
Unit Testing in Java

This is a very important topic of discussion, as it's probably the most important activity you can participate in as a software engineer.  I'm absolutely convinced that you can save yourself and your company truck loads of money if you learned how to unit test your code.  So if you've never heard of this before, it's time to put on your thinking caps!

Mar 21, 2013
Casting in Java

Trevor Page takes you through all the nail biting action that is casting in Java.  This episode will teach you what casting is and why it's needed in Object Oriented Programming languages.

Mar 14, 2013
Custom Sorting Algorithms in Java

Trevor Page teaches you exactly how you would go about implementing a custom sorting algorithm for your Collections or Arrays.  By default, Java has the methods "Collections.sort()" and "Arrays.sort()" to sort your Lists/Arrays for you... but what happens when you want to change the way these methods sort?  Find out in this podcast!

Mar 07, 2013
Constructors in Java

Constructors are used to initialize Objects in Java.  These are not mandatory to use, but anytime you've got an Object that maintains state, you should always think about properly initializing your Object.  The constructor isn't limited to just initializing though, so have a listen and find out what you can do!

Mar 01, 2013
Packages in Java

Did you know Java allows you to organize all of your files in folders for a "neat" programming environment?  Well it does, so learn all about Java packages in this week's episode of the How to Program with Java podcast.  

Feb 21, 2013
Regular Expressions in Java

This week I will cover the topic of regular expressions in Java.  This topic came as a request from a listener, so I was thrilled to record it for them.  You'll learn everything you need to know to get started with regular expressions, and I even leave you with an assignment for you to do at home!  So let's get to it!  Be sure to check out the shownotes at

Feb 13, 2013
Collections in Java

In this episode of the How to Program with Java podcast, I will be covering the topic of Collections.  What is a Collection in Java?  Some popular examples are: List, Set and Map.  These are all interfaces, so what are the most common implementations of these interfaces?  You'll find out and much more!

Feb 07, 2013
Finally and StackTrace in Java

In this week's episode of the How to Program with Java Podcast, we talk about the last important piece of Java Exceptions, and that is the "finally" block.  Also, I'll touch on what a Stack is and how it relates to the StackTrace and to Exceptions!  Exciting stuff people!

Jan 31, 2013
Exceptions in Java

In this episode you will learn what the Java Exception handling framework is and how it works with a few example scenarios.  You'll understand why you would use something called a try/catch block of code and how it is used.

Show notes via

Jan 19, 2013
String Type in Java

Learn all about the Java String variable type.  The String is a widely used and fairly complex variable type, but we will cover everything you need to really understand what it's all about!

Jan 10, 2013
Inheritance in Java

In this episode, you will learn the ins and outs of Inheritance.  This concept is one of the three key concepts of object oriented programming, so it's an important one to understand.

Jan 05, 2013
Objects and Static Keyword in Java

This episode will talk in depth about the Java Object and what it's so important to the Java programming language.  We will also touch on the static keyword, as it pertains to the Java Objects with respect to the Class blueprint.

Dec 19, 2012
Primitives in Java

In this episode of the How to Program with Java podcast, we'll learn about Primitive data types and why they are used in Java.  We'll talk about the difference between the primitive types and their Object Wrapper counterparts.  We will cover when to use one over another and some important things to understand about Primitives!

Dec 12, 2012
Arrays in Java

In this episode of the How to Program with Java podcast, we will learn about Arrays in Java, why they are useful and what important things we should know about Arrays before we start to use them.

Nov 29, 2012
Methods in Java

This how to program with java podcast episode will teach you everything you'll need to get off the ground with what a method is an how they are used in Java.

Nov 20, 2012
Java Hello World

In this episode you will learn how to create your first Java program.  This is usually known in the programming community as your "Hello World" program.  This signifies that you have everything properly setup and you have written the most basic code to get your first program running and operating correctly.

Oct 31, 2012
Syntax and Tools in Java

In this episode of the How to Program with Java podcast, we will talk about what Syntax is in the Java programming language, and why it's the toughest part of learning the language.  Also, we'll talk about some tools that will make your life easier, especially when it comes to syntax!

Oct 14, 2012
Data Structures in Java

This episode of the How to Program with Java podcast talks about Data Structures.  How they are used in Java, why they are important and when to use them.  Examples of Data Structures:  List, Map and Set.

Oct 04, 2012
What are Control Structures in Java?
Control Structures
Wiki: A control structure is a block of programming that analyzes variables and chooses a direction in which to go based on given parameters. The term flow control details the direction the program takes (which way program control “flows”). Hence it is the basic decision-making process in computing; flow controldetermines how a computer will respond when given certain conditions and parameters.
-describe it in more human terms
  - code read LINE BY LINE from top to bottom, and for the most part left to right) - CODE FLOW
  - choose your own adventure... only you can have loops
  - computer has a decision to make
- What are the different kinds of control structures
  - IF statements
  - Loops
    - For
    - While
    - Do While
Contact me with any questions here:
Sep 27, 2012
Variables in Java

Fundamentals of Programming with Java

- All programming languages share common traits
- Java in particular is an Object Oriented programming language
- Everything can be represented as an Object (think of of nouns in the English language)
- a Chair, a Desk, a Person, a User etc.


- What is a variable?
- In computer programming, a variable is a storage location and an associated symbolic name which contains some known or unknown quantity or information, a value.

- cryptic, here's what it really means:
- Store information for later use, and store it in a way that you can reference it
- this is known as a variable name!
- variable name is just a word, a word that represent's what you're storing

- if you go to a website, website asks for your name, you type it in, boom that's a variable

Variables have Types

- String - store a regular sentence (alphanumeric - numbers and letters)
- Integer - Whole numbers on (no decimals)
- Double - Number with decimals (about 16 significant figures)
- Float - Number with fewer decimal places than Double (about 8 significant figures)

Your Homework

Sep 22, 2012
Intro - Who is Trevor Page?
Here's episode 1 of the How to Program with Java Podcast.  I'm very excited to kick off this podcast and can't wait to see where this journey takes me!
Who am I?
- Trevor Page
- 29 Years old
- I Live in Toronto, Ontario, Canada
What do I do for a living?
- Senior Software Engineer / Product Development Lead
What is this podcast about?
- Helping people
- Compliments website
Here are the links I mention in the episode:
Sep 18, 2012