2,153 reputation
11118
bio website
location Melbourne, Australia
age
visits member for 4 years, 2 months
seen Nov 20 at 5:20

I am an experienced software architect/developer living in Melbourne, Australia.I am passionate about pragmatic architecture and solution design, solid development practices and code quality in enterprise development teams.

I am working on distributed systems and SOA (using WCF), legacy integration and modernisation, defining a .Net technology roadmap, application lifecycle management using TFS in my day job.

I started programming in C++ before moving on to C# about 6 years back and loving the language and .Net framework since then.

I am interested to learn from others and trying to share with the community interesting knowledge and information that I come across.


Jul
18
comment Interface naming: prefix 'Can-' vs suffix '-Able'
Some opinionated frameworks like nservicebus uses the ICan style. e.g. IWantToRunWhenBusStartsAndStops, IConfigureThisEndpoint
Jun
19
revised Reducing repetitive DI code
added 196 characters in body
Jun
19
answered Reducing repetitive DI code
Jun
17
comment Object Initializer in C# problem with readability
Very good explanation. Also useful to remember that using may not work if the ctor of a 3rd party class that you don't control throws an exception. Then your only option is a try{..}finally{..}
May
27
awarded  Nice Answer
May
26
comment Why does DataContractJsonSerializer not include generic like JavaScriptSerializer?
In case you don't know use json.net as it is superior to both json.codeplex.com
Apr
18
answered Formal study about trends and prevalence of agile vs traditional methodology in the industry
Mar
25
revised Why should form inheritance be avoided?
edited tags
Mar
23
comment Windows Phone 8 development on Windows 7 - is it or will be possible?
@Tiby One of my team member uses stardock to get the start menu on windows stardock.com/products/start8 and quite happy with it. Their other product looks interesting as well stardock.com/products/modernmix/features.asp
Mar
17
answered How do you remember where in your code you want to continue next time?
Mar
14
awarded  Nice Question
Feb
22
answered Why do large websites use different languages for the backend and frontend?
Jan
25
awarded  Notable Question
Nov
4
comment How to make creating viewmodels at runtime less painful
There are frameworks like PRISM to create composite UI where view plug into views through DI and then communicate by pub/sub frameworks like MVVMLight. When I was doing some WPF dev about 1.5 years back a good resource with end-to-end example was joshsmithonwpf.wordpress.com/advanced-mvvm
Nov
2
comment “Never do in code what you can get the SQL server to do well for you” - Is this a recipe for a bad design?
My take is that get experienced and skilled SQL developers (not DBA) as part of the development team and then SQL becomes code as well with code review, coding standards etc. Then the question is whether code is deployed in the application or in database and that is a different issue already answered above. You wouldn't expect a Java developer to write idiomatic Ruby code so why do you also expect him to write good SQL.
Sep
23
awarded  Yearling
Sep
14
awarded  Popular Question
Aug
31
comment Using XML as data storage
The question is unclear. Are you asking about storing data in an XML file instead of a DB or storing data inside a DB but as XML type. Further muddying is the example of .net config file as I don't see it as data storage.
Aug
22
comment Is it a good idea to design an architecture thinking that the User Interface classes can be replaced by a command line interface?
A lot of applications use a plugin model for scripting. Usually the object model is exposed and a language like python is used to write the scripts. I don't think command line parameters will work for a non-trivial app.
Aug
16
comment Choosing the right license for a testing framework
@MarkBooth While that may be correct the fact is most will not like to take the risk with GPL as it all comes down to interpretation of law with the risks of a legal fight involved. Specially if there are competitive products that are non-GPL open source.