Coding By Numbers - Episode 19 (End of Year Wrap up)


Craig A: In this episode of “Coding by Numbers”, Steve and I reminisce on the events of 2010 and ponder what 2011 might bring.


Craig A: Hi, this is Craig Aspinall from Suncorp.


Steve: And this Steve Dalton from Refactor.


Craig A: And this is our last episode of the year.  Last episode of 2010.  Last episode of our first our year of podcasting.


Steve: First I have to say, “Hi Craig”’s been a while since I’ve...


Craig A: Yeah it’s true you know...when you gallivanting off around the other Australian island also known as New Zealand.  We’ve just lost our New Zealand listeners.


Steve: West Tasmania...East Tasmania...


Craig A: North Tasmania.  Did you have a good time?


Steve: I did have a good time. I was listening the podcast while I was away at one point and I was waiting for something...


Craig A: Did you miss us?


Steve: I was about 20 minutes into the podcast and I tried to interrupt you guys...


Craig A: It doesn’t work that way...


Steve: That’s pretty sad isn’t it...


Craig A: You have to be here live to record least it got you going.


Steve: I didn’t do any podcasting while I was in New Zealand funnily enough...beacause I don’t think sheep know a lot about programming...maybe they do...


Craig A: There’s a few people in New Zealand who know a lot of programming in fact.


Steve: I had a good chat to Lee in Christchurch...Lee Butts...that’s about all I caught up with...I think most of the other people are up in sounds that Christchurch have a bit thing going...IT community there...a few start ups...quite cool.


Craig A: When we were looking at moving to Australia there were a few things going in Auckland and Wellington.


Steve: I was surprised that Invercargill, down in the south, has this thing, loosing lots of people because it’s in the arse end of New Zealand.  They’ve put a lot of money into their have to be a can get a free degree.  No fees or anything.  A lot of people have come into the city and rejuvenated it.


Craig A: Smart people are going to Invercargill.


Steve: Not particularly IT I think there’s a fair bit of science and technology.


Craig A: A great thing to do.


Steve: I’d like to live there but the weather’s absolutely s***.


Craig A: Saying that we’re living near the Gold Coast, it’s nearly Christmas and it’s raining.


Steve: We had good weather but it was uncharacteristic - we saw the whole place through rose coloured glasses.  If I went back there I would probably see the proper weather.  Australia’s been very wet while I was away.


Craig: It’s been pretty wet since you’ve been back.  It’s definitely high on our list of places to visit.  We’re quite looking forward to going over there.


Steve: We thought we’d do this little podcast at the end of the year and summarise the year that was 2010.  We don’t have guest today.  We can do what we did in episode 1.


Craig: Back to square one.  It’s been an interesting year in terms of the technology.  There’s a whole bunch of stuff that’s been churning away.  We’ve been predominately Java or Java related, JVM programmers, Oracle finely getting their hands on Java been one of the big things of the year.


Steve: Google with Android and their Java source Google Wave.


Craig: Google and Oracle fighting with each other over Android and its use of Java the language.


Steve: It’s going to be interesting how next year pans out.  I’m doing a talk at Linux conf next month.


Craig: I was going to say that you beat me to the punch.


Steve: I actually put the proposal the day before the Apache foundation put out their thing about the JCP.  I’m not going to go into details about the JCP but they can look it up.  But then I thought, “Oh crap, now I’m going to have to talk about that”.  My synopsis on Java was quite positive.  We’ll see what happens over the next month.  I still have to write the talk.


Craig: The whole Oracle Java thing has been interesting and very kind of, giveth with one hand and taketh away with the other.  They seemed to have cleaned up what they want to do with Java. And fingers crossed they are a sound financial backer of the technology but you look at the number of people that have departed what was Sun.  A lot of the key personnel have gone.  They’ve gone in pretty public, nasty spats.


Steve: The just don’t seem to do community very well.  It’s historically been the case with Oracle, prior to Sun, there’s been some pretty big mess ups.  I remember the Melbourne LCA in 2008 and some Oracle guy turned up.  It was the year that Oracle took the Red Hat distro and rebadged it Oracle Strong Linux or something.  Everyone was very...there was lots of booing and hissing going on.  They didn’t get it at all.  That was the first time I saw that side of Oracle.


Craig: They are a big business.  They don’t appear to have...they appear to have done themselves a lot of harm in winning the hearts and minds of the community.  When you have got one of the most popular development platforms in the world you need to make sure you are paying some attention to the community.  It’s not what their strong point is.  I think that’s what the big thing is.  They’ve taken stuff and given it some better direction.  They’ve trimmed out the stuff that were a little bit frivolous.  But I think a lot of the innovation around it perhaps is gone.


Steve: Do you think with the OpenJDK would have happened with Oracle?  Is it extremely lucky that it happened while it was in the hands of Sun?


Craig: Sun probably saw the writing on the wall and they probably decided to do what was in the best interest of the community to protect their interests.  By open sourcing Java and creating the OpenJDK - GPLing it specifically - was probably a good move for them.  It’s certainly opened the door if people who don’t like what Oracle is doing they can take the project and fork it.  And go off and do their own thing.


Steve: I guess the main worry people worry about is patents.  The fact that are is patents even though it is open source.  That there is patent pending stuff in Java.  Oracle seem like they are going to enforce it too.


Craig: Well they’re going to try to.  That will be a big...the Apache Harmony project on which Android is well stands up to scrutiny if it does ever does go to court it will play a big part in deciding the future of Java.


Steve: It doesn’t seem to be putting much of a shadow on the way Android is going forward.  It’s got a massive amount of momentum.


Craig: Android has been a big thing this year.  The devices have really come up to scratch.  The Nexus One being their flag ship...


Steve: And the Samsung...


Craig: Samsung has basically taken over.  The new Nexus S is basically a Samsung device.


Steve: Yeah they’ve moved away from HTC.  All the HTC stuff are still doing Android phones.


Craig:  Whatever makes them money.


Steve: There’s Samsung tablet...the Galaxy tab.  A bit of a slow start but they’ve sold a million of them which is not bad - it’s quite expensive - it’s quite a bit more than an iPad and the screen is a quite a bit smaller than the iPad.  I think they’ve done quite well.


Craig: I don’t think that the current release of Android is well suited for pads.  A lot of the other players are waiting for the Android 3 to come out.


Steve: I think we’re going to see Asus with the EEE PC type tabs.  It will be interesting.  They really killed that market - it was created by them...


Craig: Yeah the netbook market.


Steve:  EEE PC - the netbooks really came out of nowhere.  I can see players like making some interesting...


Craig: I think it will be interesting from a couple of points of view.  You’ve got Android but there’s also Chrome OS that’s been released on the Dell Netbooks.  Whether they do any kind of touch based interface for that will be another interesting thing we might see on a tablet.  And whether they scale any version of Windows down or actually get Windows...


Steve: ...a Windows pad...


Craig: Particularly with the development model they’ve got now...the Windows stuff that you can learn...particularly if you’re interested in doing a lot of graphical development.  You’ve got phone and XBox and some sort of inbetweeny, very cloud oriented, tablety type stop gap.  They could probably use exactly the same model again.


Steve: I think Microsoft are doing quite a fair bit in the touch area as well.  With the tab tables and all that stuff.  It was always Bill Gates’s pet thing.  Who knows what they have lurking.  They might have a lot of stuff on the shelf.  They’ve acquired companies and a lot of technology we haven’t seen yet.


Craig: You can already get Windows 7 tablets already.  They already have a presence in that market.  They do...they just don’t have something like an iPad that’s like the iPhone and the iPod - you keep going back - they keep defining those markets.  Even though they’re not the first people to do it.


Steve: No.  I don’t know if you’ve read the “Innovator’s Dilemma” that book.  They talk about disruptive technologies.  It’s often the companies you least expect.  The companies that are in the old technologies aren’t there, they disappear.  That’s where we saw Apple come out of nowhere with the smart phone.  Before the iPhone Nokia was leading it.  Now look at Nokia now, they are now struggling to keep that market.  They’ve got their...N900...what’s it called?


Craig: They’ve got a bunch of stuff.  I think that’s one of the problems.  Anecdotally, one of the problems that Nokia is that as an organisation it’s very siloed - each of the different phone are designed top to bottom by completely different groups that compete with each other.  There’s no standardisation.  There’s no single driving force like a Steve Jobs.  That decides I want to do it that way.


Steve:  Sounds a bit like Sony...a bit disparate, different and no unity there.


Craig:  Having some competition between teams is good but having it visible to the outside world is not so good.  What you really want is something very cohesive.  You get all your smartest minds, split them up into a couple of teams, and say right, “You’ve got 6 months to come up with something fantastic, go do”, and pick the best one at the end of it and then everybody falls in behind it.  Don’t let them release the other products and kind of have lots of substandard ones.


Steve: With the Java thing we’ve been talking about.  It would be really interesting what Microsoft’s take on this stuff.  They must be finding it pretty funny.


Craig: They do seem to be getting together...getting support from...


Steve: In TechEd we saw...all the things that they did for us...


Craig: Yeah, the push into the open source community.  They appear to be going about it in the right way after a number of false starts, they seem to be ahead of Oracle in that sense.  They’re not doing it from a purely engaging the community point of view.  They’re doing it because they can make money from it.  It’s going to be one of the key areas they will make money from it in the future.  At least they are actually open sourcing stuff.  We’ve seen F# now being open sourced as well.  That kind of stuff.


Steve: Microsoft is a really interesting company.  We saw it at TechEd.  We didn’t get it really on the podcast because people weren’t really talking about it.  The behind the scenes thing I saw, it’s a bit of a schizophrenic company.  They’ve got a lot of really good people doing awesome things at the grass roots.  They’ve got this whole marketing thing going on.  They’ve got this stupid, embarrassing things like the Windows 7 parties - that try hard stuff - the really cheesy stuff that really puts people off. But there is something good there.  There’s a bit of a battle there.  It’ll be interesting to see how that pans out.


Craig: It’s probably been the case for some time.  The thing that has been coming out of the labs at Microsoft.  There’s been some awesome things that these guys do.  There are some fantastically talented people there that really want to create amazing product and do the right thing by their customers.  Regardless of whether they are paying for that or not.  Their overarching business mentality that seems to get in the way of that pioneering spirit.  I think it would be interesting to go into Microsoft and see how much cool technology that’s just sat on the shelf that can’t get off the groups because of politics that is going on somewhere.


Steve: They had all of that stuff - Vista and Windows 7 - all that technology that never got in the release - all that cool seemed to get shelved.  I think a lot of that is through acquisitions they didn’t seem to really integrate well.  They had the file system - that fundamental file system change - that never really...


Craig: ...that just disappeared.  I wouldn’t be surprised if a lot of the problems Microsoft has conspiracy’s really a problem of what the business, the marketing...whatever you want to call it...wants to say and what the technical people know is the right thing is to do.  Sometimes you have to break from the past and make something completely new.  We were both underwhelmed with Windows phone 7 while we were at TechEd.  People who are actually using it are raving about it.  The people developing for it is saying it’s awesome.  It’s really easy to develop for compared to the iPhone or even Android - it’s dead simple to get applications out there that do stuff.  They’re obviously doing something right.


Steve: ...developers can be quite different from consumers.  There’s been a few podcasts talking about how much we’re starting hate Apple and how Apple are evil.  From a consumer point of view...


Craig: They are still make awesome products.


Steve: For the mums and pops and our wives.  Not wanting to be sexist.  Women are for iPods and men are for Android.  For people who aren’t involved in the technology Apple is...


Craig: For people who just want something that works.  You take it out of the box and you put it on to charge every night.  It does work.  The computers are like that, the operating system is like, the iPods, iPhones, iPads are like that.  Even the peripherals - if you buy an Airport...


Steve: They just work.


Craig: They just work together beautifully.  You plug a printer into one, you can see it straight away.  It’s all really slick from that point of view.  They’ve had their fair share of evil antics that they’ve been up to.  The various changes to the iPhone SDK.  The way they’ve behaved with the App Store.


Steve:  I was reading today that you couldn’t make games that target certain races.  So Wolfenstein can’t be done because it’s basically targeting Nazis - shoot the Nazis.  That was just one of the things.  There are many other things.  I always feel torn - back and forward, back and forward - between all these companies.  I just continue on in my own little Linux world.  This was the year that Craig installed Linux.


Craig: It wasn’t the first time.  You make it sound like I’ve never done this before - this is true.  This is the first year that I’m running on my desktop machine at work is running Linux.  I’ve always had Linux machines around - it’s never been my primary machine.  It’s my primary machine at work which is awesome - Ubuntu rocks - it really does on the desktop.  I did try Ubuntu on my Macbook.  My very beaten up Macbook.  It didn’t work so well.  I took another Ubuntu based distribution called Linux Mint. That also rocked.  It has a different interface to the standard Ubuntu stuff.  Which is just different rather than better.  I just had far fewer hassles - it’s a got a few more of the bits of software that might be patent encumbered but it just that it means it works better with the Mac.


Steve: Most people using Ubuntu enable those repos.  I’ve made Ubuntu use those codecs on mine.  Linux has really come of age.  I can’t put my finger on when it flipped over.  I remember years ago they were saying Linux on the desktop.  People tried and tried and it was abandoned and it would never happen on the desktop.  It just kind of crept up without people noticing.  At Suncorp, as developers, we have a choice of a developer desktop.  We can have a Linux base or a Windows base.  And the standard is the Linux base.  And we use virtual desktop for what we need.  And this is a bank - you’d think they’d be so conservative.  This is happening in a bank here.


Craig: The neat thing about it is that it’s not just any old Ubuntu installation.  They’ve actually gone through a custom one so they can have some internal control.  But also so that it fits in well with the network so that it works with the Microsoft directory servers.


Steve: It is coming of age.  It is crossing over to the mainstream.  Boxees and things.  People are starting to realise things like Android, “Oh my Android phone runs Linux”.


Craig: And when Chrome OS devices becomes more popular that’s got Linux under it.  A lot of the netbooks were released Ubuntu or some version Linux on there.  I think Ubunutu, at least for me, has been the catalyst.  To grab the bulls by the horns and said, “Okay lets make this easy”.  They picked up from Red Hat who were doing a good job.  I remember...going back...when I bought my first Mac between Windows and Mac I did go Linux for a few months.  It just wasn’t ready at the time which is why I chose a Mac instead - I wanted to get away from Windows at the time.


Steve: I was just thinking yesterday of my early experience with Linux how we used to use fvwm.  We were a Sun shop at 3Com and we had CDE or something which was awful.  We all ran fvwm as the second one.  The amount stuff we had to do to get our desktops right. We spent hours crafting our files, for the position of our windows, and our themes.  Recompiling kernels all the time.


Craig: I never used to do that.


Steve: Lots of weird things.  I haven’t recompiled a kernel in about two years - I’ve done a few kernel modules recently - I haven’t had to compile it in a couple of years.


Craig: This is why it’s changed.  The update manager has things to install and click.


Steve: Even if you have to need device support these day you just get modules.  You can compile modules - you can compile them without having to recompile the whole kernel. They’ve got the hooks in there for the modules, they’ve got encapsulation layers and things like that.


Craig: You don’t have to do that stuff.


Steve: I think fvwm is still around.  Ah see, the official fvwm home page.  And it still looks exactly the same. I’m going to install it.  I bet there’s an apt-get install fvwm.  I haven’t been to Linux conf in a couple of years.  Going to it next month.


Craig: It’s coming to Brisbane.


Steve: It going to be interesting.  I’m really looking forward to it.  The preconference buzz is starting to happen.  For those who haven’t been to the Linux conf it’s a big Linux conference it’s probably one of the best in the world.  It has a really good reputation.  It’s almost like a conference within a conference within a conference.  There’s lots of really interesting people there and lots of different side conferences and birds of a feathers.  We use the Wiki to start putting things up there - bits and pieces are starting to appear on the Wiki in the last few days.  In the next week or so lots of stuff will start appearing.


Craig: Yeah as people come back from holiday and start looking forward to it.


Steve:        It will be good.  That’s the last week in January.  Registration is still open.


Craig: Speaking of conferences we also went to the YOW conference in Brisbane.  At the start - a couple of weeks ago now.  Which was really, from a speaker point of view, it was really good.


Steve: There was good super stars there.


Craig: There was some good people there.  Eric Meijer was definitely one of the highlights.


Steve: Everyone talks about that talk.


Craig: He did two talks that I went to - which were very good.  I don’t know how many people’s eyes he took out throwing coins into the audience.


Steve: Really?


Craig: He was throwing coins into the audience during his rights of extensions...first thing in the morning getting coins thrown at you is probably not a good thing. He did a fantastic job.  The 50 in 50 talk which was Richard Gabriel and Guy Steele.  It was a talk they’d given before.  It was surreal but quite entertaining and interesting.  It looked back through a whole of bunch of old programming languages up to where we are today.


Steve: Is there a video of that one?  I’d really like to see that.


Craig: They did record it.  They were talking about it being a few months before the video was going to be made available.


Steve: That would be awesome.


Craig: That was really interesting.  There were some really good Erlang talks as well.  Talks around Erlang by people from the Erlang community.  There were a couple of good enterprise development type talks about RESTful web services.  There was a lot of talk getting away from vendor driven stuff.  Going back to basics.  Using principals that have proven along the way.  Kind of saying that this has been driven in a lot more organic way not driven by Microsoft, or Oracle or Intel or any of the other big vendors.  It’s stuff that’s come out, happened, adapted to what is needed to do.  We don’t have a bigger computer system than the web.  Why are we looking at these other things?


Steve: It’s quite a broad mix.  Isn’t it?


Craig: Yeah.


Steve: The talks were very good, I just think, that this year it seemed a lot better than last year.  Last year I was very disappointed in the planned bit of the conference.  I had a great experience networking and all the chats I had.


Craig: It was almost the inverse this year.  There were a few - there were three streams.  There were a couple of times I wanted to go to all three talks.  I think it was a bit of schedulers nightmare.  There was very little time for any kind of networking in between the sessions.  Even at lunchtime there was 30 or 40 minutes before you kinda of - they provided lunch and it’s straight back into another session.


Steve: The multiple thing is hard - every conference is like that.  The best thing I saw - they had that a lot at Linux conf - in Melbourne.  They recorded everything.  The people who did the video - I’d never seen anything like it.  They had the video up that night - edited.  You could watch the conference that night in the halls of residence and be in the conversations the next day.


Craig: That’s awesome.  That’s how it really should be. If you want to keep the conference buzzing.


Steve: I really think a lot of the talks are conversation starters - I often go for the start and the end and I keep going.  I graze a lot at conferences.


Craig: The good talks are thought provoking and that’s the key.  One of the ones I missed was one of Guy Steele’s talk - I missed all of Guy Steele’s talks apart from the 50 in 50 which was on in the evening.  I wish I’d been able to go to those.  I’m definitely going to watch the videos when they come out.  There were a couple of others - Justin Sheehy’s, I saw one of his, from Bash Hill. Oliver was talking about it, a couple of episode ago.   He was really good.  He gave a really good talk about “Concurrency and Scaling”.  I would’ve like to have seen his other talk about “React and NoSQL” - it was a very good talk from everyone I’ve spoken to.  It was a good conference.  It was a bit cramped - from the point of view - it was very dense.  I would definitely consider going back next year especially if they have the same calibre of speakers.


Steve: I think cost was a big thing the year before - they basically ended up doing it for peanuts to try and fill the seats.  This year they had less money available because they had to lower the cost down and so they probably scrimped on the venue maybe.


Craig: Yeah I think they could’ve dropped a session or maybe two sessions from the course of the day.  It probably would’ve given people a little bit of breathing space and then maybe opened up a bit more.


Steve: I guess with conferences you’ve got to do these things and you just have to learn...


Craig: Yeah, and they halved the price - the price was less than half what it was the year before.  I know that the Functional Programming Group in Brisbane got a discount for a group booking.  And the discount was 25% or 30% off the price.


Steve: I got it $250 last year I paid.


Craig: It wasn’t quite that cheap.


Steve: The full price was two and half or something.  There was only handful of people that paid two and half.  They were really annoyed.


Craig: The top price this year was just short of a thousand dollars. They had more than halved it.  We were talking to Dave Thomas - that they had a lot of feedback about the price.  They did everything they could to keep the price down this year.  I think they did a really good job.


Steve: I think conferences in general have had to do a bit of soul searching.  A good look at themselves.  Look at why people go to conferences.  It is a lot about the networking.  Getting as many people as their as possible and being inclusive.  Linux conf and OSDC and all those ones the price is usually pretty good and they have a decent student discount and get plenty of students there.  People are being quite creative with venues.  I recently heard about the Strange Loop conference where they did it at a cinema - a multiplex.  They had nine streams.  They basically accepted every talk.  You know sometimes you get 10 times as many talks as they can put on.  They just put everything on.


Craig: If people are happy to fund themselves.


Steve: I don’t know how much it would cost to rent out a multiplex.        It’s a kind of a cool idea.


Craig: I’ve a had a look at a few of the theatres on the Gold Coast and thought these would make good conference venues.  Decent comfortable seats and good sound and lighting and stuff.


Steve: There’s a bit of creativity there.  The number one reason people go to conferences is for a holiday.  People like the Java Posse do it at ski resorts.  People get a nice tax deductible holiday.  Those sort of conferences are hitting home a bit better than Java One.  I think Java One was a bit - I don’t know - I’ve had mixed reviews.


Craig: I think the first one under Oracle’s stewardship is going to be...people that say they don’t like it regardless.  Equally, there’s going to be people who are going to say it’s fantastic, now that it’s been merged with the Oracle stuff, it’s bigger and better than it was before.  I think we’ll know by how many people go back next year and whether there are more “Get Rid of Oracle” t-shirts.


Steve: I’m a big one for the open space conferences.  I’ve bagged the traditional conferences in the past.  I’ve mellowed a bit.  I like the bar camp format.  I’ve done all the bar camps.  I’ve done more than I have fingers on my hands.  We’ve been looking at doing a conference.  Me, Craig and some others.  We’ll announce that soon.  It’s more of a traditional conference but it will have more of the open space feel.  It’s really going to be interesting to - how to do planned sessions and things.


Craig: It’s one of the things that was a little different about YOW compared to TechEd.  You could talk to the speakers at TechEd but there was more of a feeling of accessibility to the speakers at YOW.  In all of the breaks they were out and talking to people.


Steve: At TechEd it was hard just to know who was the speaker...there were so many people and they were all in the shirts...I don’t know if you’re a speaker and I wouldn’t recognise you if you were a speaker.


Craig: When you walk the like of Guy Steele and JB Rainsberger and Mary Poppendieck you kind of go, “I know that person they’re off the back of one of those books that are on my shelves”.


Steve: It’s pretty scary talking to those people.  But once you get past that initial fear it’s quite cool.  I spoke to quite a few people YOW last year.  I spoke to Joshua Bloch in the coffee queue.  I didn’t even know who he was - I sort of know but I didn’t really know. You just sorta go in there.  I don’t know if I’ve talked about meeting Richard Stallman this year.


Craig: Briefly I think.


Steve: That was one of the most scariest moments of my life. He’s a very interesting person to meet.  A lot of people view him as the messiah.


Craig: He has that kind of strange...he’s definitely a character.


Steve: You have to be very careful what you say, your wording and everything.  An awesome guy.


Craig: You said he was genuinely really nice...intimidating but nice.


Steve: Very intimidating.  You can do it.  You can talk to anyone. These people are just regular people.  Richard Stallman is probably a unique case.  A lot of people...he’s a very interesting person...if you’re listening Richard...he’s probably not listening...because this podcast does go out in MP3 and it plays on iTunes but he would never listen to it.


Craig: We have a OGG Vorbis version.


Steve: He won’t listen to it. He says it has to be on OGG and not on iTunes.


Craig: We failed on not on iTunes.  We do have OGG.


Steve: He says, “Don’t do iTunes, that’s really bad”.


Craig: Unfortunately, we need a way of reaching people.


Steve: The conference thing was good.  The Bar Camps, TechEd...


Craig: Bar Camps were brilliant.


Steve: Lots of stuff happening next year, I’m excited about that. Seguewaying from YOW and the languages...programming languages...we saw lots of different programming languages this year.


Craig: Yeah, it’s been...wasn’t that the pilot episode?


Steve: Polygot?


Craig: Seven languages in seven weeks...which we did...well I didn’t do it in 7 weeks - well seven languages.  I’ve picked up a couple of others along the way.  At least one more.  From a languages point of view, yes there’s been the brew har har around Java and all that’s been going on.  This year I’ve really picked up on Groovy which I’d played with before but not put a lot into production.  I got there by myself.  I got a lot of stuff now that’s Groovy.  It’s the first time I put real metaprogramming into production which was interesting.


Steve: You’re actually doing real dynamic stuff?  From your testing stuff.  A lot of people use it...


Craig: People use it as a better Java which is great that it can do that and it can fill that space.  And if that’s all you want to be then that’s fine.  Using it more from a domain specific language, kind of point of view.  We’re doing things like extending existing collection classes with extra methods.  So we can do extra ways of doing comparisons and things like that.  There’s a whole bunch of stuff - where there’s something missing - a method missing - ways of extending things.  It’s cool.  I’ve actually learned a lot about metaprogramming which kind of was originally fueled by the “Seven Languages in Seven Weeks” and doing bits of Ruby and IO.  I really enjoyed doing the IO stuff.


Steve: It’s my mainstay Groovy.  I fall back to it.  I’m not brilliant at it.  It’s my universal toolbox.


Craig: It’s pretty good - as a Java programmer for many years - it’s easy to fallback on.  I did a lot of work again on Scala before we settled on the Groovy stuff for the project I’ve working on.  Scala was equally good and I have used Scala a lot more in the past.  It’s another better Java alternative.  There were other libraries in Groovy and some of the features in some of the libraries that swung it this time.  It’s been a good opportunity to learn Groovy.  The other language that we’ve both been picking up this year is Haskell, from the functional programming side of things.


Steve: My New Zealand holiday set me back pretty badly.  I’m still really keen to learn functional programming.  I’m really going to try.  I’ve got next month off and I’m going to really try hard.  There’s definitely something there.  I’m just going to chip away.  It’s going to come eventually.  I context switch too often is my problem.  I need focus time to get into the Haskell stuff.


Craig: That’s why it’s been so easy to do the Groovy and the metaprogramming.


Steve: Groovy very easy to fall back to.  I find it’s very easy.  It’s quite comfortable.  You can get back into it.  It’s not a massive paradigm shift or anything...whereas with Haskell...


Craig: Yeah it is.  I’ve done a lot of functional bits and pieces or things I’ve learned through...learning from functional programming...have filtered into my Java and Groovy programming.  It has certainly changed the way I think about certain things.  As I was saying to you earlier today.  With the functional programming stuff it’s kind of starts off as monkey see and monkey do and then kind of realise what’s actually happening under the do.  You have this, “Ah har”.  You have this movement and you move on and hit another brick wall and this monkey see monkey do and then you have an “Ah har moment”.  It’s sort of a two steps forward, one step back path that I’ve been down with this functional stuff.  It is good.  It is going to be immensely useful.  Whether it becomes my mainstay programming or not.  Just having that experience and learning to think in a different way is just fantastic.


Steve: I’ve just started playing around with Clojure.  I’m going to have a go of that next month too.  That’s functional but not pure like Haskell...


Craig: It’s a Lisp.


Steve: It’s a Lisp yeah.  That’s really interesting.  It plays really nicely with Groovy.  I’m thinking it might be my second language.  I think I need to come full circle and get the Haskell stuff right before I delve too heavily into that.  I know a lot of Groovy people who like Clojure.  They play together quite nicely.  They’re quite different but also the same as well.  I’m just starting out on that too.  I quite like the philosophy of the guy that invented Clojure...


Craig: Rich Hickey.


Steve: He’s got some quite interesting stuff he talks about.  I’ve listened to quite a few good talks of his.  I like his hammer driven development which I’m trying to do next month.


Craig: You’ve got a month off and you’re going to do some hammer driven development.


Steve: Yeah.  That’s interesting.  There’s some support for that in the IDE.  A lot of the JVM languages have the benefit, because I am an IntelliJ user, there’s IntelliJ plugins for most and I can run Clojue in my IntelliJ.  Same with Scala and all those as well.  So much to chose from on the JVM.


Craig: Of the seven language, Clojure was the one...I was determined...I did a little bit of Lisp at university...I hated it...I was determined not to like Clojure because it was a Lisp dialect.  As I went through the exercises...doing it along side all the other languages...showing you different paradigms and was kind of like actually this could be quite useful.  It was one of those, “Bang!”.  I really wanted to not like this, no I can’t, I’ve got to like it because it’s really quite good.  Clojure it will be...I’ve got a much better handle on Groovy and what it can do.  There’s only one thing which I’m working on now at the moment - the AST transformations - that’s the only thing left in Groovy for me to learn.


Steve: I think Clojure’s been around for a long time.  I think Clojure’s struggled with the newbies - getting the newbies on.  I think their community is really starting to recognise that.  There’s a lot more effort to get newbies going at the moment.  Groovy did very well on the newbie side.


Craig: It’s an easier transfer.


Steve: They got the newbies in.  I think a lot of people that’s where it’s been very successful where you can just compile Java as Groovy now.  You can take you Java and take little steps, little baby steps.  With Clojure it’s a complete paradigm shift for most people.  And Haskell and Scala and all those things.


Craig: Lisp is another different way of thinking.  AST transforms - I understand them, I know what to do - I just haven’t got it to do what I want it to do.  Once I’ve mastered that then I’d be quite happy using Groovy as my usual go to language as a replacement of Java.  Haskell is the next one in the queue which I’m going through the process trying to learn and do the functional programming stuff.  And then Clojure’s the one after that.


Steve: Erjang.


Craig: Erlang...


Steve: Mirah looks interesting too...


Craig: Don’t start, don’t start...


Steve: What’s the other one that came up recently.  Some guy wanted to put it on langref - I can’t remember what it’s called now. We have a little site called - I don’t know if we’ve mentioned this on the podcast before.  It was written by my business partner Rob Nielsen.


Craig: Fantom?


Steve: Fantom.  We added Fantom.  The guy who did Fantom he asked me to put it on.  I just went on there and it’s 94% complete now, all the exercises.  It’s either him or someone being busy with that.


Craig: Fantom is pretty cool.  It originated from Fam which was quite a nice language.  Not that I’ve ever really used it in anger.  I kind of looked at it.  Fantom relaunched around the time that I was doing the 7 languages in 7 weeks.  I looked at it and thought, “This is pretty nice”.  After having looked at all those languages in a pretty short time it was.


Steve: It’s been a good year.  What was I going to say? I can’t remember now. I had a little list of things I was going to say.  I’ve almost said all of them.  We didn’t talk about raccoon much.  Did we?  This year’s been an interesting one for the Agile stuff.  We talked about it on the podcast with Craig.  We’ll do a bit more in the new year on that maybe.  I’d liked to talk someone about Lean like Mary Poppendieck.  More of that sort of way of thinking as opposed to the nitty gritty.


Craig: The lean, kanban school.  There’s some things we’ve been talking at work that might feed into that.


Steve: That was that.  I was just going to say on the Java on language.  The saving grace for Java - the language - is the IDEs.  How good the IDEs are with Java with all that boilerplate.  I’m doing some Android stuff at the moment and it’s, “Oh no I’ve got program Java”.  The Java plugin in IntelliJ is awesome.  It does so much for you - it’s like okay I hate doing the Java but at the same time JetBrains you are making this nice for me - thank you.  Maybe the IDEs will keep Java alive.  Maybe it’s going to be that Java may just become the plumbing for people writing frameworks and other languages and it’s going to be one of these things more like that  - more low level type thing.


Craig: There’s been talk of it for a long time of it becoming the C replacement almost - it becomes the systems level language for the JVM.  If the JVM becomes ubiquitous enough then if you want to do something low level you do it in Java.  If you want to do something “more productively” then you pick a language that’s better suited for the task that you’re doing.


Steve: In the sidelines you’ve got all this other stuff like your Google Gos - it’ll be interesting to watch that space to see how it goes.  They’re coming up from the other angle.


Craig: There’s a whole bunch of stuff.


Steve: Of course, you’ve got all the other language that are not so JVMy.  The Perls and...


Craig: Javascript...


Steve: It’s been a huge year for Javascript.  I’m not really into it that much.  I know people that are.  There’s some really awesome stuff coming up in the Javascript world.


Craig: I think a big thing has been the runtimes have taken some massive steps forwards.


Steve: Google Chrome.


Craig: There’s V8 and...


Steve: Webkit?


Craig: There’s the engine that’s in Safari. Mozilla have been working really hard.


Steve: You’ve got Node.js on the server.  CoffeeScript.  CoffeeScript is quite popular at the moment and all of those frameworks.


Craig: CoffeScript could be the Groovy of Javascript.


Steve: Apparently, IntelliJ works quite well with CoffeeScript.


Craig:  That’s something else that’s improved immensely - support for Javascript in the IDEs.  It definitely has been recognised as a really useful, meaningful language as opposed to something you just use to create dynamic bits of HTML.


Steve: On that note, we have a thing, we were just talking about IntelliJ before, we have a IntelliJ 10 Ultimate licence.


Craig: A Christmas present for somebody.


Steve: Yeah, a Christmas present.


Craig: How exciting.


Steve: You have to listen to this podcast to get this clue.  IntelliJ 10 just came out.  There’s a Community edition which is free.  Which supports pretty much everything apart from some of the Javascript stuff, Groovy, Grails and Griffon.


Craig: It’s more the web and more of the enterprise stuff support.


Steve: If you want to do some of the Groovy, Grails and some of the Gradle support and some of the Javascript stuff you need the Ultimate version.  To be honest the Community edition, the free one, has most of it as well.


Craig: I use the community edition every day.


Steve: I do have an Ultimate license worth 270 bucks I think.  People who know me know that I’m a complete scrooge.  I don’t buy software.  I use the whole thing about open source and free software but I’m really just a complete skinflint.  I do pay for IntelliJ.  It’s the one thing I do pay for.  We’re resellers at Refactor so I often get free things.  They’ve given me a licence.  So if someone can tell me, “What city in New Zealand can you get a free degree at?”


Craig: Good question.  Only those with good memories will remember or a rewind button.


Steve: You can send your answers to...




Steve: Very good Craig, thank you.  I don’t know these things.  We’ll draw it out of a hat and the winner will get an IntelliJ licence.  Thanks for JetBrains for that.  I do have lots of other things to give away but I’ll do them - I’ll spread them out of the next 6 months I think.


Craig: We’ve got some pretty interesting things lined up for next year.  Obviously, this is the first year of the podcast.  We’ve kind of pleasantly surprised - I’m pleasantly surprised that we’re still going.  This month I had two very strange experiences.  One was at YOW where I went to meet some people for coffee just randomly before the conference started.  I went to introduce myself to somebody and he says, “I know who you are”.  How I’ve never met you before?  “I listen to your podcast”.  It’s the first time I’ve ever been recognised for anything.


Steve: You’re a super star.


Craig: At least in Brisbane. Among a very small community of people.


Steve: The second one?


Craig: The second one was, I was interviewing somebody this week on the telephone and I asked them a question that I quite often ask during interviews, “Which is how do you keep abreast of what’s going on in the industry?.  And the candidate said: “I listen to your podcast”.  Which was rather embarrassing.  It was kind of the best answer he could’ve come up with.  That was quite amusing.


Steve: That was Wes wasn’t it?  Wes is probably listening.


Craig: That was pretty good.  It made everybody on the interview panel laugh which was quite funny.  Well done Wes.


Steve: We’ve got loads of good interviews lined up.  We’ve got a big backlog we’ll get through.  We’ll try and keep it regular next year.


Steve: I’m in Sydney for work in January.  I’m catching up with some people down there.  If you are listening and you’re in Sydney and you have something cool you want to talk about.  I’m happy to come to you.  I’ll be there for 4 days.  Going to do a bit of podcasting while I’m there.  Drop me an email  I’m happy to meet up with you and have a chat.  Because I like talking.  As you might have gathered.  So that’s cool.  I think we’re going.  We’ve done our obligatory 40 minutes - 55 - so we better wrap it up there.  Thank you Craig for joining me.  Thanks for a great year.


Craig: Thank you.  It’s been a blast.


Steve: Thank you.


Craig: Merry Christmas and a happy New Year.


Steve: Merry Christmas bah humbug.


Craig: You’ve been listening to the “Coding by Numbers” podcast.  Brought to you under the Creative Commons attribution licence.  Please send any feedback or comments to  Please subscribe to the blog or follow us on Twitter to keep up with the latest news about the show.  Our intro and exit music was “Chopping Block” by Mike Beale.  Thank you for listening.