Book Review: Murach’s Java Programming

I was contacted by the people at Murach Books inquiring if I would like to start reviewing their books. Being a geek, and an avid tech reader, of course I said yes. This will be my first review, and it’s my favorite language, so I was excited with what they sent….

Murach’s Java Programming 4th Edition

This book is great for people with some programming experience, that are new to Java. Murach goes from the basics of Java, starting with primitive datatypes, through the fundamentals of Object-Oriented programming, and into GUI programming (probably could have left this out). That was the first 17 chapters. This is no short book, definitely not a quick read.

Starting with chapter 18, the book moves past beginner-level topics. Murach gives a solid review of data access in Java. First with reading and writing from/to XML files. Then their is a chapter on database theory and working with the Derby database. From there you learn how to use JDBC to read and write to a database. The book wraps up by tackling Threading.

The only negative thing I can say about this book as I’m confused as to why the author chose to use the Netbeans IDE as his IDE of choice. Murach does a great job covering the ins and outs of working with Netbeans. Going as deep as how to use the debugger to step through code and fix bugs. I just feel that Eclipse / STS have such a massive share of the market the reader would be better served learning Eclipse alongside Java.

If you only plan to buy one book on Java SE, this is the book for you. Murach’s Java Programming covers it all.

How to install Java 7 on Mac OS X (Lion)

Mac users are still waiting for Oracle / Apple to produce a simple download for using Java SE 7 on Macs running OS X. Until they provide one, the only safe way to use the Java 7 JDK is to build it from source. Luckily, Oracle provides a good wiki page that documents the process (and Arun Gupta has a useful post that helped with some of the gaps).

Check the Prerequisites:

OS X 10.7, Xcode 4.1 (easiest, and possibly the only way to get this, is from the Mac App Store), and Java for Mac OS X 10.7 Update 1

or

OS X 10.6.8, Xcode 3.2.6 (download from Apple Developer Portal), and Java for Mac OS X 10.6 Update 6

Mercurial version control tool. I installed this easily with the use of the awesome Mac package installer Homebrew. Simply run: “brew install hg”. (I didn’t make a dime for that blatant Homebrew plug 😉 )

Simple Process:

  1. Follow the Oracle instructions to “Get the Code”
  2. Run the Build command (part of the command is hidden by the box on the screen and if you don’t look close you may miss when copying / pasting) 😉

For all practical purposes, that’s it. If you want to install JDK 7 in the “Apple recommended” location follow steps 3-5 on the Oracle wiki page.

Just for grins I’m pasting the output of my build command. Pretty nice for a “wimpy” Mac Book Air. 😉

>>>Finished making images @ Sat Dec 17 00:09:17 CST 2011 ...
########################################################################
##### Leaving jdk for target(s) sanity all docs images             #####
########################################################################
##### Build time 00:20:58 jdk for target(s) sanity all docs images #####
########################################################################

## Build times ##########
Target all_product_build
Start 2011-12-16 23:34:39
End   2011-12-17 00:09:17
00:02:45 corba
00:08:18 hotspot
00:00:52 jaxp
00:00:55 jaxws
00:20:58 jdk
00:00:49 langtools
00:34:38 TOTAL
#########################

erik@eriks-mba ~/dev/sdks/macosx-port
$ build/macosx-universal/j2sdk-image/1.7.0.jdk/Contents/Home/bin/java -version
openjdk version "1.7.0-internal"
OpenJDK Runtime Environment (build 1.7.0-internal-erik_2011_12_16_23_34-b00)
OpenJDK 64-Bit Server VM (build 21.0-b17, mixed mode)

If you have any questions about these steps just leave a comment below or ping me on twitter (@erikweibust).

2011 Fantasy Football Team…

We just had our 2011 Fantasy Football Draft Party.  Dang good time!  Been playing with the same 12 guys for six years now.  Best I’ve done is come in second place.  I think this year I have a legitimate chance to WIN IT ALL!

My draft preparation was focused on the great insight published by ESPN Fantasy Football guru, Matthew Berry. Specifically, I took notes from his Draft Day Manifesto.  Anyhow, the steal of the draft was me sprinting up to our board and grabbing Michael Vick with the 9th pick.  I have no idea how he fell that far but I’m not complaining!  Then, my double whammy, was me stealing Antonio Gates in the end of our 4th round!  If you think I’m crazy, go read the stats in the DDM linked to above.

Here are the rest of my genius picks:

Rd 1 – QB – Michael Vick

Rd 2 – WR – Roddy White

Rd 3 – RB – Frank Gore

Rd 4 – TE – Antonio Gates

Rd 5 – RB – Knowshon Moreno

Rd 6 – WR – Santana Moss

Rd 7 – RB – Pierre Thomas

Rd 8 – WR – Johnny Knox

Rd 9 – WR – Mike Thomas

Rd 10 – RB – Daniel Thomas

Rd 11 – K – John Kasay

Rd 12 – DEF – Atlanta Falcons

Miscellaneous observations…  I grabbed 4 guys with 4 letter last names…  I grabbed 3 guys with the last name of Thomas…  Clearly, if my job as a Technology Consultant goes south, I should be able to land a job in the NFL as a GM.

Here is the draft board to back this up:

2011 Fantasy Football Draft Board

Look for a celebratory / told-you-so blog post at the end of the season when I will the Fantasy Bowl!

Dallas TechFest 2011 Recap…

Another year, another great Dallas TechFest event…

There were some great new speakers, Ken Sipe was my favorite with his Gradle talks.  The story on Gradle is one worth listening to, regardless, of how ingrained Ant or Maven are at your organization.  The best place to go if you’re new to Gradle is their website. The Gradle documentation is great.  Java “developer-types” can start with this Gradle tutorial geared to building Java projects.

There were also some great returning speakers, I especially liked Arun Gupta, with his Java EE Workshop.  A few years ago, I wouldn’t consider starting a new enterprise Java application without the Spring stack.  To be honest, in my mind, Spring == Enterprise Java.  However, after seeing Arun’s talks the last two years, Oracle and the Java EE 6 stack have rapidly closed the gap on SpringSource, and now just might have a story to tell in the enterprise development space.  I highly recommend you follow Arun on Twitter, or subscribe to his blog.  The content is outstanding and the current Java EE story is really impressive.

This was my first year as a presenter at TechFest, after having been involved as an organizer the past 4 years.  I gave a double session on The Grails Framework.  The attendees were great.  Lots of great participation and an all-around good time was had by all. Don’t forget to tell Tim that you want him to use the website we built next year.  😉

Grails Workshop - Dallas TechFest 2011
Lastly, I need to add there was numerous great speakers / sessions I didn’t get to see.  Craig Walls, author of Spring in Action (required reading for all Spring developers) and lead on Spring Socialgave two talks in the same slot I was speaking in so I unfortunately missed his talks.  Next year I need to make sure I’m not speaking when Craig is.I guess it’s now time to start getting ready for Dallas TechFest 2012…

Shannon Hoon

Wow… The whole Amy Winehouse death, at the age of 27, freaked me out. Two of my favorite musicians died at 27, Kurt Cobain and Shannon Hoon. Both dudes were way messed up with drugs and lost control. Both killed themselves. One with a shotgun blast to the head and the other with a dipshit drug overdose. Their deaths both upset me for awhile and then left me pissed off. I loved their music, still do.

Anyhow, I’ve been disappointed that I haven’t seen Shannon Hoon’s name in any of the stupid comparisson articles with the “27 club“. He belongs in that list, so I felt like calling that out here. Google Shannon Hoon, or Blind Melon and then listen to some of his stuff. He died eight weeks after their second album came out. I love it and still listen to it all the time. I hate thinking about the music he never got to write and preform.  I’m sure it would have been awesome.

Enjoy this video if you miss Shannon Hoon’s music or want to see why I bothered writing this post…

Blind Melon – Change

The weird thing about that video was that Blind Melon performed that song on Letterman the day Kurt Cobain was found dead.  And Hoon makes a clear statement, even says it during the song, that he doesn’t want to die.  Yet he kills himself the next year.  Bummer.  Drugs mess people up…

This blog is back from the dead…

Did you ever think I’d fire this bad boy up and start blogging again?  I didn’t.  I got hooked on twitter back in 2008 and haven’t looked back, or at this blog.  😉  Anyhow, I’ve got the “itch” and will probably start blogging here more regularly.  No promises but I’m guessing you’ll see me chiming in every once in awhile.  I think I have a plugin installed that will tweet when I blog something, too.  Since most people have probably dropped this from their feed readers.

Also, for my old readers/followers….  I’ve purged all the old posts that were just regurgitating my tweets here, to make me feel like I was still blogging. So this blog is back to a blog, and it may even get some new content.

Dallas TechFest 2009 Recap…

After close to 6 months of planning, Dallas TechFest 2009 is… “in the books.”  Planning and running an all-day tech conference with 40 presentations, 400+ (ok 401) attendees, X great sponsors, and Java and .NET developers is totally exhausting.  I took Saturday off to relax and now I’m back on my laptop writing this review.

First, let me say, that it wasn’t just Java and .NET.  That was just a joke because it’s always those two languages pitted against each other.  Dallas TechFest was 8 technology tracks: Java, .NET, Flex, ColdFustion, Ruby, and Silverlight, and in those tracks other technologies were mixed in.  Our great speakers present at user groups and conferences all over the country, they’ve also authored a number of books.

Anyhow, thanks to everyone that helped out.  Tim Rayburn did an awesome job heading things up, and Chris Koenig was the guy that kept things moving when we were being lazy and blowing off responsibilities, and Omar Villarreal did great with sponsors.  I was especially happy to see the returning sponsors.  And lastly, I gotta thank Jonathan Campos for all his work, that was a great after party.  I look forward to helping out again next year, given the chance.

Here are some relevant links covering the event:

Review of Spring Web Flow 2 Web Development

I was approached by one of the editors at Packt Publishing about doing a review of Spring Web Flow 2 Web Development.  I obviously said yes, the title of this post is “Review of Spring Web Flow 2 Web Development”  🙂  Plus, I really don’t have much experience with Spring Web Flow 2 (SWF2) and felt doing the review made perfect sense.

For those of you that appreciate my short, don’t-hold-back, opinions, I’ll start there:

Spring Web Flow 2 Web Development is both a great “getting started” book for people wanting to learn SWF2 and serves as a good high-level “getting started” with web programming using Spring / Java EE.  Definitely worth the time and money.

Now my detailed review:

Again, I really liked how Spring Web Flow 2 Web Development serves as both a jump-start on SWF2 and also covers technologies outside of SWF (Spring Security, build tools, Apache Tiles, etc).  The book isn’t a detailed reference manual, that leaves you feeling you still don’t know how to use the technology, but gives the right amount of walk-through examples and framework documentation.

When finished with the book you will understand how to install SWF2, how to build and use the examples.  You will have numerous, feature-rich examples the authors build throughout the book.  You’ll know how to use SWF2 in a request-respone Spring MVC app and also with a JSF application.  You  get a solid tutorial on using Apache Tiles (kind of odd in a SWF book), a very detailed explanation of Spring Security and integrating Spring Security with SWF.  You also will understand how to test your flow definition and SWF application while also learning about EasyMock.

Here are my bulleted notes chapter by chapter:

ch 1: Very short, brief intro to Spring Web Flow 2. High level terms and definitions

ch 2 setup and example app: install swf2 discuss the distribution discuss the example apps and how to build from src covers build systems (ant, mvn, ivy) eclipse and spring ide then a thorough example app -flow definition -service layer -dao with jpa impl

ch 3 web flow documentation detailed look at flow definition (.., scopes, states) least favorite chapter hard to read, not enough example tying concepts together

ch4 spring faces starts with intro to jsf I’m not interested in jsf

ch 5 sub flows – built on ch2 and ch3 spring javascript abstraction oddly placed apache tiles tutorial for combining swf, spring js, and tiles reference for web flow configuration

ch 6 testing swf apps covers use of AbstractXmlFlowExecutionTests short intro to EasyMock tests subflows

ch 7 really good intro spring security spring security and swf

R.I.P. Kurt Cobain – 15 Years Gone…

Man, I almost missed it.  Kurt Cobain, one of my favorite artists / songwriters / musicians / band leaders was found dead 15 years ago today, April 8, 1994.

I was a sophomore in college, and I was devastated.  Nirvana was easily my favorite band and the news shocked me.  I was so pissed when I heard that he had committed suicide.  It was such a loser move.  I’m still bitter that he did it.  What a waste.

Take a minute and enjoy some Nirvana and have a good thought for Kurt’s daughter.  I’m sure she misses her dad.

R.I.P. Kurt Cobain
R.I.P. Kurt Cobain