Blogs

dxRAM - Richard Morris' DevExpress blog

June 2009 - Posts

  • Apple logos pop up in the strangest places

         

    So I'm sure you probably noticed more than a few DXers talking about Apples lately, Our CTO Julian just tweeted that his new IPhone 3GS was on it's way to him, and Evangelist Gary just blogged about new features in the latest IPhone 3.0 software, the other day Silverlight guru Azret had as his FaceBook status "Hating myself for loving the IPhone UI", and you probably recognize these likely lads and that ... let's face it ... "In Your Face" logo on the back of the latptop they are both clearly mocking.

    That logo is so "In Your Face", that at a recent conference (run by a company that shall not be named) where Oliver was speaking, a conference room functionary was dispatched by some marketing weasel to slap a sticker over the Apple logo on his laptop while he was in mid-present.

    I've just got myself a new 17" MacBookPro myself (I'll blog later about how to set up a Mac for developing .NET apps) and I've also been using an IPhone for 6 months so I guess I'm as much an Apple Fanbois as anyone else here ... but that gaudy Apple logo is giving me the irits. I paid enough for this laptop, I'm not going to give away any more free advertising to them.

    What I really want is to get some inkjet printed surface tension held "sticker" to put over it ... maybe I'd do an old school Apple II Rainbow (My first PC back in 1980) or a map of Australia or such.

    ...

    Speaking of Australia, as you may know we're drifting as a continent towards Japan at a rate of about 6cm a year ... or about one ninth of a cubit for my nonmetricated friends.  As we are headed north we seem to be dropping bits of giant limestone islands off the southern edge of the continent, and in our trip around Australia we took a very windswept trip out to see some of these called the 12 Apostles.

    This is the southern most edge of Australia, and that wind is bitterly cold comes directly from Antarctica and smells of penguins.  You can see some of the 12 Apostles in the background.  Those are the giant limestone Islands, and because they are essentially chalk left out in the elements they erode rapidly and dramatically.

    Check out the interesting way this one is eroding ... at its top left ... see that hole in the limestone that you can see through to the waves behind?

    That bloody Apple logo ... it's everywhere.

  • How to master a language in less than 10,000 hours

         

    Malcolm Gladwell wrote in "Outliers" that a person needs to invest 10,000 hours of concentrated and reflective practice to achieve mastery - which means it's going to take most developers 10 years just to attain mastery just through practice.

    Back in the early 90s I used to work for Borland Australia, and I started as most developers do in online tech-support, this was in the era of a free 1-800 support number and I was one of 2 techs handling Language support calls for the whole of Australia and New Zealand.  We would handle around 300 support calls each a week, that could cover absolutely any facet of Borland C++ or Turbo Pascal but were rarely easy even to the experienced developer.  It was here that I learned the one true short-cut to Language mastery, and I'll pass it on to you here.

    Teach someone else a thing, to master it yourself.

    So given that we probably don't all have access to 300 gnarly C++ questions a week to keep us on out toes, how then to push oneself toward mastery.  One way that Dustin Campbell (Microsoft VB PM, F# Master and formerly Coderush dev) discovered when he was learning F# was to blog about it on http://diditwith.net/ thus helping teach others how Functional Programming works and in particular how F# works.  Dustin is well known these days as a master of languages, and I suspect that the exercise of blogging was instrumental - not just as a PR exercise but as a way to solidify his own understanding through teaching.  I can't know whether that helped during his Microsoft interview process, but the effort we spend to teach others does return karmicly in interesting ways.

    So what I suggest is, if you aspire to become a master in less than 10,000 hours - teach other developers.  You could do a lot worse than Blogging about say your favorite C# or Delphi language feature, or to show off a feature in a Devex component or tool that you have recently learned about.  In fact if you do the latter, I'll make sure to blog about your blogging and make sure that you get some people on your site to ask some gnarly questions.

    Speaking of which, here are 2 great examples

    Go on their sites and ask them some tough questions Smile

  • That's not a bug

         

    Now THIS is a bug!

    This was one of the many interresting sights to be found on our Winnebago (pictured for scale) tour around Australia, and on our trip we saw the "Big Mango", the "Big Pineapple", the "Big Bananna", and many other "Big" things. 

    This is fellow is affectionately known as Larry the "Big Lobster" from Kingston S.E. in South Australia.  That night we bought fresh lobster straight off the boat and had it with a nice flinty Polish Hill reisling that we'd picked up from the celler door in the Clare Valley the previous day - As a reformed foodie I highly reccomend this part of the world but don't go there on a diet ;)

  • How refactor helps me use new language features (AKA Pair programming with Dustin).

         

    There was a time that I was pretty invested in the latest language features.  In the late 90s during my Delphi era I used to speak at conferences on new language features, would start every conversation with the compiler dev team with "When will you implement Design by Contract" , and would actively seek out new features of every new compiler release and find ways to use every new feature. It didn't take much rationalization to justify using the latest language feature in whatever code I was building, and I must admit I wrote some pretty arcane code in my time.

    These days I no longer live on the language leading edge, I program in C# or VB.NET or Delphi Prism to get the task done and I'll let you in on a secret ... with the exception I guess of LINQ I don't really use many new Language features.  Sure, I understand what anonymous methods and lambda expressions are, but to me they seem to be simply building blocks needed to get to LINQ rather than essential features the the Language that demanded inclusion for their own sake. So I have not invested too much time learning everything there is to know about these new language constructs.  In the immortal words of Roger Murtagh: "I'm too old for this ... errr ... stuff"

    Sometimes it seems to me that it is possible that being able to convert an expression to a delegate or compress it to a lambda expression results in cleaner looking code.  And this is where Refactor Pro comes in, Refactor is able to parse my code and tell me when an expression can be converted to use a new Language feature.  I don't have to know much if anything about the feature, I just trust that Refactor will create correct code - and if the result looks cleaner I go for it, and if not I can simply Ctrl-Z undo.

     

    Since one of the key developers of this feature was Dustin Campbell, F# expert, C# MVP and VB PM for Microsoft I am fairly confident that the resulting code will be superb.  It's as if I am pair programming with someone who I can trust to learn all this arcana for me and suggest how to improve my code, and I can focus on the problem domain. 

    Interview with Dustin

    It's like in my universe ... Clippy has been retasked to Visual Studio except he's been replaced by a little Dustin and he has to check all of my code before it gets checked in.

  • Back like a Boomerang ...

         

    I guess some who have known DX for over 4 years might remember me, but for the many who don't my partner Julie and I both joined DevExpress in Las Vegas in 2002 and left in 2006 to move back to our Native Australia.  Julie headed up Customer Services and I was CTO - during the pre Road Map/DXperience/Blogging/Twittering and very productive Bucknall era ;)

    What was not publicly known at the time was that at 39 I had acquired Type 2 Diabetes thanks to a previously unknown genetic predisposition coupled with several decades of too many calories and not enough nutirents, excercise and sleep, and so when I left I semi-retired from software development to focus on getting my health back under control.

    We've had quite a journey since, which included a Winnebago trip around Australia ... which it turns out is big ... really big, and full of funny stories (which is one reason I am starting to blog).

    We have since found a nice place to settle down in called Batemans Bay about 4 hours south of Sydney, and we both work with a local charity that finds people jobs all over Australia.

    I am happy to be able to say that with a lot of excercise (some of it in the garden growing vegetables, and cycling, gym work, and even a little Kung Fu), I have been able to lose over 30kgs (60lbs) since that photo taken at Uluru in pretty much the center of Australia.  Anyway with my weight loss, I have no sign of Type 2 Diabetes and as far as anyone can tell I am no longer even insulin resistant.

    But I do miss DevEx and have made several trips back across the pond to hang out with the gang during Tech-ed.  You might have noticed me hooning about on the Segway here at Tech-Ed 09

    In future you might see me around a lot more as a roving Technical Evangelist for DevExpress working in a mostly Australian time-zone (twitter.com/dxram) and on this blog, and maybe I'll get a chance to also talk about some of the funny things seen from a Winnebago, in the meantime I have just enough time for a quick joke;

    Q: What do you call a boomerang that doesn't come back?

    A: A Stick.

More from DevExpress
Live Chat
Have a pre-sales question?
Need assistance with your evaluation?
We are here to help.
Chat is one of the many ways you can contact members of the DevExpress Team. We are available Monday-Friday between 8:30am and 5:00pm Pacific Time.
If you need additional product information, require pre-sales assistance, or want help with your order, write to us at info@devexpress.com or call us at
+1 (818) 844-3383.