Archive for November, 2010

Episode 25 – Interview with Shaun Walker of DotNetNuke

November 29th, 2010

Listen here:



While at Dev Connections 2010 I had the privilege to interview Shaun Walker the creator and founder of DotNetNuke (or DNN for short), a .NET based Content Management System (CMS). Content Management Systems typically allow non-technical people (i.e. Marketing personnel) to build websites like Lego with content being the pieces. They are very popular among corporations, and even this site uses WordPress which can be considered a CMS for bloggers.

Other CMSs you might know are Drupal, Adobe CQ and Alfresco.

I sat down with Shaun not knowing a heck of a lot about him or the history of DNN and was pleasantly informed that DNN started out life as an Open Source software systems that grew into an Open Core/Dual Licensed flagship product. It's nice to see this model in play in the .NET world, I hadn't heard of too many .NET based projects which have gone this route.

Shaun was a great guest, even if you aren't into .NET or CMSs you should give the cast a listen, I doubt you'll be disappointed.

Networking Event

One other thing I should mention is the hospitality DNN extended to me. They were throwing a party and gave me and my friends from Apptius Computer Solutions free invites. The party was a blast, and they gave away over 20 prizes of which one of my friend's won a copy of Visual Studio 2010 Ultimate edition with MSDN ( a paltry $11,899 value) and another friend won a DNN plugin pack.

Got to meet a lot of great people including all the DNN Corp folks. I talked to a number of DNN customers and they all seemed pleased with the product and the people behind DNN.

Thanks again DNNCorp!

Listen here:




Craig, Podcast

Scala Language Tour ( Tutorial )

November 26th, 2010

Scala has changed a bunch since I first authored this video, for that reason a lot of its content is outdated. I've removed the video, however if you are looking for more contemporary material checkout the Scala articles on my blog:

As a follow up to previous posts on Scala (Scala, a cursory glance and Scala and Akka an Interview with Jonas Boner) I've put together a Scala Language Tutorial.

This was presented on November 25th 2010 at the Winnipeg Ruby User Group (Winnipeg.rb) and the agenda covered is listed below the video.

If you have any questions, comments or corrections please leave a comment!

Agenda - any inaccuracies in the screencast are noted below

  • Object Oriented Programming - 00:33:44
    • object vs class - 00:39:15
      • Chris Marshall emailed to say I should have been more explicit about the fact that when a constructor parameter is marked as private the accessor method(s) are still generated by Scala, they just aren't visible to users of the class.
    • Option, Some, None - 00:43:01
      • Chris Marshall emailed to say the coverage for this slide was pretty shoddy. I agree, at the time I hadn't much experience with Option outside of the O'Reilly book. There are many ways to deal with Option, specifically with the None type. One of the best ways, when you have a list of Options, is to use flatMap(x=>x). It will generate a list of the Option's underlying values, and disregard None all together. When dealing with a single Option, getOrElse works nicely as a guard against None.
    • generics (parameterized types) - 00:44:57
    • covariant(+), contravariant(-) and invariant notation - 00:47:15
    • duck typing - 00:50:16
    • traits - 00:51:44
    • mixins - 00:52:11
      • Chris Marshall emailed to say I missed stating you must first cast the wolfMan to a Canine before being able to call howl(). As pointed out, WereWolf is spelled wrong (spelled WhereWolf in the cast). I need a spell checker for vim :)
    • case classes - 00:55:09
    • Implicits - 00:58:33
    • Common Complaints about Scala - 01:01:18
    • Scala tools - 01:02:47
    • Scala Resources - 01:04:40
      • Scala Mailing List
      • O'Reily Scala Book (free)
      • #scala on Freenode IRC
  • Craig, General ,

    Episode 24 – Move over Java, Introducing The Fantom Language with Brian and Andy Frank

    November 22nd, 2010

    Our very own Basement Coder Justin Lee arranged for an interview with the creators of the Fantom language: Andy and Brian Frank. It's no coincidence the Frank's share the same last name, they are indeed brothers who work at their own company called Sky Foundry.

    Aside from Justin, the rest of the Basement Coders hadn't heard of Fantom. Justin assured us it would be worth looking into, and after a cursory glance we all decided that yes, we want to interview these fellows!

    When I started looking into Fantom I immediately was struck with the notion of "If Java were to have progressed in both language features and syntax, this is what it would look like". That's because Fantom looks very Java-like and also runs on the JVM or .NET CLR, so you can leverage all your existing code! Given this, Fantom's approachability factor is much higher than Scala in that a Java/.NET programmer can look at it and immediately know what's happening. Scala has a bit more of an "alien" syntax for Java/.NET developers, and it's tough to just "jump into" Scala code without first researching the language and its features.

    So take Java, add syntax for Closures, Mixins, Dynamic Method Binding and you have Fantom. For these reasons alone you should do yourself a favour and take a look at it, if you like what you see, get the word out to your friends and collegues and help Brian and Andy grow the community and the language itself.

    Listen here:





    General, Podcast

    Episode 23 – Interview with Shay Banon of Elastic Search

    November 11th, 2010
    Going into our interview with Shay Banon we didn't know much about Elastic Search.  I know I for one hadn't realized it was a completely Open Source project, I think the .com in the web address threw me.  Coming out of the interview both Jason and I were really impressed by the project.

    Elastic Search is a project that takes Lucene, distributes it and wraps it up in a very convenient RESTful API.  Essentially you "index" (i.e. insert) JSON documents into Elastic Search and you can retrieve those documents and both tasks can be done via REST.

    The applications for such a project are really enticing.  For instance, wouldn't it be great if a web designer who's really comfortable with JQuery could write an entire web application without having to bother a Developer to write server-side code to persist and retrieve data?  Since they'd be persisting and retrieving JSON documents from Elastic Search directly from JQuery it's all Javascript to them.

    Now, what about mobile applications?  A big trend in Mobile apps is to make the application running on the Phone (or other mobile device) act simply as a presentation tier.  All the heavy lifting and data representation is done via a web service running on a server which the mobile app communicates with.  Elastic Search can be spun up on a server and instantly you have a service your mobile app can communicate with to store and retrieve data in a simple to use fashion.

    ElasticSearch - Introduction from Elastic Search on Vimeo.

    Elastic Search also supports multi-node instances, sharding and other distributed and cloud methodologies which ensure your app can scale.

    I for one know the next time I need to produce a prototype of a product, Elastic Search will be my first choice for storage and retrieval of data.  I also have the funny feeling it will be retained for the production version of the product as well.

    Listen here:




    JRebel Sponsors My Movember

    November 9th, 2010

    As you may know, I'm growing a Mustache for the Movember campaign being put on by the Prostate Cancer Society. Well, the good people at Zero Turnaround have out done themselves by offering to give away a free license for JRebel ($60 value!) to the first 20 people who pledge $20 $10 or more

    Don't know what JRebel is?  Have a listen to Episode 19 about it, trust me, you'll be rushing back to this page to donate within 10 mins of listening!

    All you have to do is:

    • Click this button:
    • Follow the four steps listed on the site; they take all the major credit cards plus PayPal
    • Enter a donation amount of $20 $10 (US or Canadian) or more (JRebel licenses are a $60 value!)
    • In the step where it asks you to "Leave a Message" make sure to have "JRebel" somewhere in the message so I can track who to give licenses to
    • I'll announce on twitter (@bcoders) when we have 20 people who have donated!

    To all those who have now and in the future donated to this worthy cause, I deeply appreciate your support.


    Support Wikipedia