Archive for October, 2010

Episode 22 – Free Java

October 29th, 2010

Jeff sporting his "Java - Just Free It" digs

Do you know what the Free Java movement is? It's not exactly cut-and-dry. Essentially it's a movement which wants more community rather than autocratic involvement in the direction of Java. It seems that Oracle is shaping the JCP with less focus on individuals and seemingly more focus on "Friends of Oracle" (or Friends of Larry, if there's even a distinction).

All of this and the fact that Apple, without warning (or provocation that we know of) decided to deprecate Java on Mac OSX. The more disturbing part is Oracle's complete "head in the sand" non-reaction to this news.  Essentially, we don't know what the future of Java is on Mac OSX, especially in light of how lawsuit happy Oracle has been these days.

Even more interesting than the article itself are the comments made by an Oracle employee (and the criticisms which follow) on InfoQ's "Can Oracle turn around Java?".

So, it is interesting times we live in.  Would love to be a fly on the wall in Oracle to find out exactly what their plans are amidst all the community pressure.

Listen here:



General, Podcast

My Movember Contribution: Ask me about my mustache

October 27th, 2010
I was recently at a Meetup called "Secret Handshake" up here in Winnipeg. It's a Meetup for "Creatives" which they leave very open ended to interpretation (writers, graphic artists, software developers, etc...) and while I was there I met a fellow by the name of Steven Soroka (@ssoroka) who's raising money for Prostate Cancer via a novel campaign called "Movember".


Essentially Movember is all about growing a mustache during the month of November and asking friends and family to sponsor you. The proceeds go to help fight Prostate Cancer. This to me is a brilliant idea because every man secretly wants to grow a mustache but a) is self conscious about it (especially when it's first growing) b) has a sig.other who might not be too keen on the idea and c) it's not really "in fashion" these days, gone are the days of Tom Selleck and Burt Reynolds, you just don't see Matt Damon or Justin Timberlake out on the scene sporting a stash.


This also strikes close to home because my wife lost her Father (Michael Bate) to Prostate Cancer well before his time.

Michael enjoying life

Michael and our new born daugter months before he succumbed to Cancer

So I'm all for growing mustaches for Prostate Cancer when I'm on my home turf, as typically I'm only seeing my friends and relatives. So I can explain to them what the dealio is. However, the first week of November I'll be in Las Vegas Nevada at the DevConnections conference, surrounded by tonnes of people I don't know and interviewing people like Shaun Walker from DotNetNuke as well as some people from This has made me a bit self conscious of the fact that I'll be in the beginning stages of growing a stash and will probably look like an adolescent boy going through puberty, or a creep.


My solution? The Ice Breaker: a name tag style card I can pin to my shirt which simply states: "Ask me about my <graphic of mustache>". This accompanied by the customized donation cards that provides should give me a great opener and way to fundraise for this noble cause! Feel free to download them for yourself, and it would be awesome if you could sponsor me!


Click either image to download a PDF version you can print off






Episode 21 – Interview with Cedric Beust

October 22nd, 2010

Cédric Beust is probably best known for his creation of the TestNG Java testing framework. It arose at a time when JUnit (the defacto standard for Java testing) was becoming stagnant. Testing practices were evolving, and TestNG was keeping up and innovating in the space.

Cédric also spent six years at Google, the last four of which he spent on Android. We talk to Cédric about what it was like working at Google, how the interview process was and his thoughts on Android and some of the decisions which were made for the platform.

Cédric now works for LinkedIn, and continues to support and extend the TestNG framework in his spare time.

Listen here:



General, Podcast

Neat Grep Trick – Displaying File Name in find Results

October 20th, 2010
So I've been hacking on some Scala in my spare time, and one of the problems I've been having is finding proper IDE support for the language. I like being able to ctrl-click or cmd-click on a class or method to instantly jump to the definition of that class or method. For Classes, IntelliJ IDEA's Scala plugin does alright. But for methods, it seems pretty lost at times, this question on the scala-user mailing list pretty much sums up my problem:



For instance, I'm using the mongo-scala-driver and a statement like this:

val transcripts = db.getCollection("transcripts") of Transcript

It can't tell me where "of" is defined. Or:

for {acct <- account from dbo} yield new Expense(acct)

It has no clue where "from" is declared.

Also, because of Scala syntax I'm not entirely sure if those are imported methods from an Object or methods from the class the method proceeds? For instance is "from" a method imported from an Object imported using SomeObject._ or a method of the account class?


So, I've been coping by downloading all the source code for the libraries I'm using and issuing find + grep commands on the code base. For instance:


$ find . -name *.scala -exec grep 'def from' {} \;
        def from(dbo: DBObject) = unapply(dbo)
        def from(dbo: DBObject) = unapply(dbo)
        def from(dbo: DBObject) = unapply(dbo)
    def fromMap(m: Map[String,Any]): DBObject = {


Ah crap, no filename! Ok, well I could just re-issue the grep command with the -l option to tell it to list file names instead of the matched lines:


find . -name *.scala -exec grep -l 'def from' {} \;


But if I had a lot of hits on my original search, it might be tough to determine which line came from which file. Well, it turns out you can implement this trick with grep such that if you specify more than one file to look in, grep will display which file it got its match from, hence you getting listing of the line which matched and what file it came from:


$ find . -name *.scala -exec grep 'def from' /dev/null {} \;
./src/main/scala/com/osinka/mongodb/shape/Field.scala:        def from(dbo: DBObject) = unapply(dbo)
./src/main/scala/com/osinka/mongodb/shape/Field.scala:        def from(dbo: DBObject) = unapply(dbo)
./src/main/scala/com/osinka/mongodb/shape/Field.scala:        def from(dbo: DBObject) = unapply(dbo)
./src/main/scala/com/osinka/mongodb/wrapper/DBObj.scala:    def fromMap(m: Map[String,Any]): DBObject = {


In this case we tell grep to search in both the file provided by find: {} and /dev/null. It's never going to find a match in /dev/null, so it will always display the match if it came from a file provided by find.


Episode 20 – JavaOne 2010 Recap

October 15th, 2010


P.S. Checkout Basement Coder JavaGeek's personal blog for more JavaOne recap information.


Listen here:



Welcome to our "JavaOne 2010" Recap episode! We had a great time at JavaOne! The best part was that since we do the podcast over Skype we all got to be in the same physical location for once! Checkout our slide show below, there is a mixture of video and images so you'll have to click on them to find out which is which (note to flickr, make it more obvious that something is a movie).


We also met some celebrities! And we aren't just talking about Gosling! Comedian Jon LaJoie (@jonlajoiecomedy) who we knew best from this video:

General, Podcast

Support Wikipedia