# Wednesday, January 27, 2010

It’s that time again!

Architecture chat tomorrow, 11:30am, Sylvia Park, Auckland.

Some possible topics:

The above topics are just a fall back in case we run out of anything else to discuss. 

The wave this week can be found here.  If anyone wants to contribute some notes about what we discussed after the chat, please add them here as well.

Note: If you are coming along (or plan to be in the future) and don’t have a wave account yet then drop me an email and we’ll send you an invite.

For more details on the location and write-ups of previous sessions you can consult the associated wiki.

P.S. We are going to attempt to startup a shore-based architecture chat this year as well - tentative date for the first one is 18th of February. See this wave for details, and to help decide the what/where/when.

posted @ Wednesday, January 27, 2010 7:53:10 PM (New Zealand Daylight Time, UTC+13:00)    Comments [0] | |
# Wednesday, January 13, 2010

First Architecture Chat of the year tomorrow – sorry about the late notice, was just waiting on enough numbers before going ahead with it.

Some possible topics:

We’ll be meeting at the usual time of 11:30am @ Garrisons, Sylvia Park, Thursday 14th January 2010.

The above topics are just a fall back in case we run out of anything else to discuss.  Note we’ve also taken to devising the list of topics collaboratively on Google wave – The wave can be found here.

Note: If you are a attendee (or plan to be in the future) and don’t have a wave account yet drop me an email and we’ll send you an invite.

For more details on the location and write-ups of previous sessions you can consult the associated wiki.

posted @ Wednesday, January 13, 2010 9:38:42 PM (New Zealand Daylight Time, UTC+13:00)    Comments [0] | |
# Wednesday, December 16, 2009

Architecture chat tomorrow, probably the last one for the year.

Here are some potential topics:

We’ll be meeting at the usual time of 11:30am @ Garrisons, Sylvia Park, Thursday 17th December.

The above topics are just a fall back in case we run out of anything else to discuss.  Note we’ve also taken to devising the list of topics collaboratively on Google wave – This weeks wave can be found here.

Note: If you are a attendee (or plan to be in the future) and don’t have a wave account yet drop me an email and we’ll send you an invite.

For more details on the location and write-ups of previous sessions you can consult the associated wiki.

posted @ Wednesday, December 16, 2009 5:48:19 PM (New Zealand Daylight Time, UTC+13:00)    Comments [1] | |
# Wednesday, December 02, 2009

Here are some topic suggestions:

We’ll be meeting at the usual time of 11:30am @ Garrisons, Sylvia Park, Thursday 3rd November.

The above topics are just a fall back in case we run out of anything else to discuss.  Note we’ve also taken to devising the list of topics collaboratively on Google wave – This weeks wave can be found here.

Note: If you are a regular attendee and don’t have a wave account yet drop me an email and we’ll see if we can get you an invite.

For more details on the location and write-ups of previous sessions you can consult the associated wiki.

posted @ Wednesday, December 02, 2009 6:57:05 PM (New Zealand Daylight Time, UTC+13:00)    Comments [0] | |
# Wednesday, November 18, 2009

Here are some topic suggestions:

We’ll be meeting at the usual time of 11:30am @ Garrisons, Sylvia Park, Thursday 19th November.

The above topics are just a fall back in case we run out of anything else to discuss.  Note we’ve also taken to devising the list of topics collaboratively on Google wave – This weeks wave can be found here.

Note: If you are a regular attendee and don’t have a wave account yet drop me an email and we’ll see if we can get you an invite.

For more details on the location and write-ups of previous sessions you can consult the associated wiki.

posted @ Wednesday, November 18, 2009 1:58:45 PM (New Zealand Daylight Time, UTC+13:00)    Comments [1] | |
# Wednesday, November 04, 2009

Architecture chat tomorrow, apologies for the late post.

Here’s some possible topics:

We’ll be meeting at the usual time of 11:30am @ Garrisons, Sylvia Park, Thursday 5th November.

The above topics are just a fall back in case we run out of anything else to discuss.  Note we’ve also taken to devising the list of topics collaboratively on Google wave – This weeks wave can be found here.

For more details on the location and write-ups of previous sessions you can consult the associated wiki.

posted @ Wednesday, November 04, 2009 8:31:51 PM (New Zealand Daylight Time, UTC+13:00)    Comments [0] | |
# Wednesday, October 21, 2009
The Auckland Architecture Chat is on tomorrow, at 11:30am, Garrisons, in Sylvia Park.

Here a list of some possible topics:

We’ll be meeting at the usual time of 11:30am @ Garrisons, Sylvia Park, Thursday 22nd October – and the topics above are just there in case we run out of anything else to talk about (which is rare).

For more details on the location and write-ups of previous sessions you can consult the associated wiki.

posted @ Wednesday, October 21, 2009 12:58:24 PM (New Zealand Daylight Time, UTC+13:00)    Comments [0] | |
# Wednesday, October 07, 2009
posted @ Wednesday, October 07, 2009 3:05:51 PM (New Zealand Daylight Time, UTC+13:00)    Comments [0] | |
# Wednesday, September 23, 2009

The Auckland Architecture Chat is on tomorrow, at 11:30am, Garrisons, in Sylvia Park.

We had a smallish turnout last time that focused on mostly reviewing Visual NHibernate – so most of the topics from the last session are still up for discussion too – you can find them listed here.

We’ll be meeting at the usual time of 11:30am @ Garrisons, Sylvia Park, Thursday 24th September – and the topics above are just there in case we run out of anything else to talk about (which is rare).

Update: Jamie from Slyce software will be demoing the first cut of entity-first modeling support in Visual NHibernate.

For more details on the location and write-ups of previous sessions you can consult the associated wiki.

posted @ Wednesday, September 23, 2009 1:47:53 PM (New Zealand Standard Time, UTC+12:00)    Comments [0] | |
# Wednesday, September 09, 2009

Some possible topics:

Edit: Some Late Editions from David (who gives his appologies, and wont be able to make it tomorrow).

There is also the code camp this Sunday in Auckland, at which I’ll be presenting on Domain Specific Languages, with a side-order of writing Domain Specific Languages in Boo.  I'll post about that tomorrow, and maybe include a little more detail about what I hope to cover.

We’ll be meeting at the usual time of 11:30am @ Garrisons, Sylvia Park, Thursday 10th September – and the topics above are just there in case we run out of anything else to talk about (which is rare).

For more details on the location and write-ups of previous sessions you can consult the associated wiki.

posted @ Wednesday, September 09, 2009 1:10:52 PM (New Zealand Standard Time, UTC+12:00)    Comments [0] | |
# Tuesday, September 08, 2009

Good turn out at the last Architecture chat, including Guy, who hadn't been to one for over a year, and Murray, a new comer.

  • Secunia Corporate Software Scanner - How to identify missing patches etc.
  • Discussed the 97 things every software architect should know and Beautiful Architecture books - I'll bring them along next time if anyone wants to borrow them.
  • Discussed Facebook's key/value database Cassandra.
  • Discussed approaches for publishing and consuming RSS, talked about PubSub Hubbub.
  • Discussed selecting technologies for building CRUD Apps, and what are good technologies for learning ORM.
    • Discussed NHibernate being the Swiss army knife, lots of features, interesting place to learn as you will become aware with almost every facet of ORM nomenclature etc.
    • Discussed Entity Framework, Linq2Sql  and others including Lightspeed.
    • Discussed difference between highly opinionated vs. non-opinionated ORM's.
  • Software Craftsmanship - sparked off by this article in the Herald - general consensus was we didn't agree at all with the article, and that there is an obvious disconnect between the view points of academia and practicing developers.
    • Discussed the ideas of Science based engineering rigueur improving software quality and stopping projects running over budget, and it’s rather short-sighted view of how software defects originate / what contributes to overall “software quality”.
    • Big discussion was around Software "engineering" - and how far removed from other engineering disciplines we are.
    • Discussed fact that most software development focused degrees in New Zealand don't qualify you to join IPENZ - and if we could, most of us wouldn't want to.
    • Discussed the laughable Idea of forcing developers to study something every year to “stay current” – everyone agreed if you’re not learning something every day as a developer, your doing it wrong.
  • Service Buses & IoC Containers (the conversation got a bit mixed up between these two) – things we discussed were:
    • When to adopt, i.e. how big does a project have to be, what problems should you be facing.
    • Quite a bit of discussion around the misnomer of "how big" being a reason to adopt any technology, rather then how complex, good fit etc.
    • Discussed the dangers of adopting technology and practices prematurely.
    • Examples of .Net service bus:
  • Discussed the .Net Mailing List - Josh didn't know what it was, which in some way reflects that it’s not longer promoted any more, discussed it succumbing to a slow death, how stack overflow affected question traffic etc. – FYI You can still subscribe to the dot.net.nz mailing lists here.
  • Expressed annoyance that dot.net.nz no longer works after the “upgrade” to sharepoint, need the www. prefix.
  • Wordpress twitter-like themes/plugins, such as the prologue / P2 theme.
  • Pomodoro timers, including tomatoes, footballs, iphone apps and even *gasp horror* on-screen timers.
posted @ Tuesday, September 08, 2009 11:47:36 AM (New Zealand Standard Time, UTC+12:00)    Comments [0] | |
# Wednesday, August 26, 2009

Some Possible Topics:

We’ll be meeting at the usual time of 11:30am @ Garrisons, Sylvia Park, Thursday  27th August – and the topics above are just there in case we run out of anything else to talk about (which is rare).

For more details on the location and write-ups of previous sessions you can consult the associated wiki.

posted @ Wednesday, August 26, 2009 12:24:14 PM (New Zealand Standard Time, UTC+12:00)    Comments [0] | |
# Wednesday, August 19, 2009
ArcChatLunch.jpg
  • Discussed the Pomodoro technique, David's been doing it from the start of the year (And finding it working well), Jamie started a couple of months ago, Josh started a couple of weeks ago.   Here’s the book, and here’s a whitepaper.
  • New Zealand most peaceful country.
  • Study identified software developers as generally being healthier then people working in other industries.
  • Mylyn Eclipse Plugin.
  • Discussed Pipe Networks cable, and there was some debate that it had been both started or stalled...  Some older Articles mentioning arriving at Austrlia, but not NZ.   There’s also a wikipedia page for PIPE Networks.
  • Discussed Distributed source control, including..
  • Peter and Josh put out the call to arms – if you haven’t tried a DVCS, now is the time!
  • Java in legacy lockdown – we discussed the rate of change / addition of new features in Java vs. C# as flagship languages for their associated JVM & CLR.
    • Also discussed the current trend (At least on blogs / podcasts) to identify a Java v.Next, such as Scala.
    • Are java’s days really numbered when being considered for developing green-fields apps (as a language, obviously not as a platform).
  • Automapper - Updated group of experiences after using it in a recent project, generally nothing but good news to report.  Did discuss configuring mappings when using an IoC container or plugin model.
  • Discussed Firefox weave.
  • WPF Event Manager - we discussed why events in WPF are potentially quite slow.
    • Discussed the contrast between the winforms event model and WPF.
    • Also discussed how the windows forms event model was generally inefficient, and sometimes like sucking on a fire hose, relying on efficient handling to avoid issues.
    • Discussed how the Reactive / Rx Framework might help to simplify some of the problems we face today.
    • Discussed the Drop of the Rx (Linq To Events) In Silverlight 3 - see here for a great write up.
  • Discussed the interesting timing of Lightspeeds announcement of SQL Function support and EF 4.0’s ;o)
  • Discussed open source projects
    • The statement “if I don’t know about your project, that’s your problem” – Amen, open source is not just about throwing code up on a public accessible repository.
    • Discussed community.
    • Discussed educational materials, having up to date examples etc.
    • Discussed the interesting mix of the hugely greatful and downright rude people you interact when running an open source project.
    • Distinguishing the scratch an itch i.e. casual open source project (normally written by just one person) verses the more organised attempts to create lasting pieces of software and community.
  • Discussed Google Pub Sub.
  • Peter raised the question of writing services that render directly to the client i.e. using RDP or VNC protocols - talked around if this was a good idea, the feeling that it was a little like x-windows 15+ years ago and that there are some devices or applications that might already be doing this using the VNC protocol (?).
  • Discussed Internationalization & user customisation, including:
    • Implementing the functionality to allow users to create custom "languages" for products so they can change labels, terminology etc. 
    • The costs of doing this at the start of a project vs. after shipping.
    • The impacts of certain languages on layout.
    • Why are our web dev frameworks not built with a degree of customisation out of the box i.e. moving the order of fields on screen, changing widths etc.
  • Big vs2008 patch? (Not sure what this was, think Peter mentioned it being rolled out about a month ago).
  • Entity Framework 4.0 features etc.
  • Talked about the problem of too much content being delivered as video, including:
    • Not having the time to actually sit down and watch it - we need more transcripts and audio-only podcasts/content!
    • Main culprit was identified as Microsoft with Channel 9 & Mix, love the content - but there need's to be more pure Audio and transcripts.  Round the table most people had hours and hours of videos on their "must watch list" with more and more piling up every day.
    • Peter raised the question "what are you missing out on by not watching them" - none of use could really answer, gut feeling was probably not much if you keep an eye on twitter and blogs anyway.  Also it seems “big picture” stuff is often easy to grok when in video format (or at least more engaging), but video is too slow for anything else.
  • Talked about Fibre round NZ - the ongoing "suck" that is Auckland's internet situation, and discussed what's involved what would be involved in setting up a wifi network for smaller NZ towns, to provide high speed access to fibre.
  • Talked about NHibernate’s codebase, why it is the way it is, and the advantages it brings i.e. ability to incorporate associated projects like shards, search etc.
  • Microsoft futures video – discussed the video, it’s “vision” of the future, and contrasted it to videos of the future from 10 years ago, how much was right, how much wasn’t etc.
  • Discussed the Hudson CI Server, and why a few of us like it More the CC.Net and Teamcity.
  • GWT .. also mentioned some of the interesting bits in GWT 2.
  • Discussed Eclipse vs. Mono Develop.  Was interesting how divided it was, some people really don’t like Eclipse, others quite like it.  Also discussed the FUD around Eclipse vs. Mono Develop features.  Quite a few of us are using Eclipse for something i.e. PHP or Java development.
  • We asked the question of “why?” Teleriks ASP.Net MVC Controls even exist.
  • Discussed learning Groovy / Grails, and my dabbling with Groovy as a replacement for Jelly script in a project I was working on (though I think I mistakenly called it Jettyscript at the time - what a java noob I am! ;o)
  • Discussed Suse Studio and Matt Richards Mass customisation etc. concepts - and how this could be applied to delivering custom applications.
  • Polyphonic C# was discussed – including the concept of Chords - there was some debate around whether this project became part of c-omega as well (according to the web page, it did).
  • Discussed Parallelization, PLinq etc.
  • We discussed Rob Howard's "legacy" of the provider model, how it came about, community server, and why for many of us the provider model was either an underwhelming or unsuitable set of extension points.
  • We talked about Horn, Josh mentioned my “Love letter to Horn” ;o) – and I talked a little about why I think this is important
  • David started a discussion around Peer to Peer Banking, including this interesting article from Jason Kolb.
  • Discussed if Shards exists for NHibernate.  Yes and no from the looks of it, it’s in Contrib, but appears to be incomplete / non-functional.
  • Discussed Caliburn WPF framework, and it’s yield goodness.
  • Discussed codeplex making their Wiki engine available.
  • Talked about writing DSL’s – including Boo, Oslo’s M, and Jetbrains MPS.  Contrasted differences, and why Boo can be quite appealing to developers compared to developing complex grammars for External DSL’s.

There were lots more discussions, but I’m finding the conversations too interesting lately so I’m not taking as many notes as I should – If anyone recalls any other discussions / topics, just leave a comment on this post and I’ll update it with the relevant details.

See you all next week!

posted @ Wednesday, August 19, 2009 12:37:14 AM (New Zealand Standard Time, UTC+12:00)    Comments [2] | |
# Wednesday, August 12, 2009

Some Possible Topics:

We’ll be meeting at the usual time of 11:30am @ Garrisons, Sylvia Park, Thursday  14th August 2009 – and the topics above are just there in case we run out of anything else to talk about (which is rare).

For more details on the location and write-ups of previous sessions you can consult the associated wiki.

posted @ Wednesday, August 12, 2009 2:06:38 PM (New Zealand Standard Time, UTC+12:00)    Comments [0] | |
# Wednesday, July 15, 2009

It’s been a month since the last one – I’ve shaken off my flu – and It’s time to get back on track.

So yes, It’s that time again – time for another Auckland Architecture chat!

Topics…

Some possible topics for this week:

When & Where...

We’ll be meeting at the usual time of 11:30am @ Garrisons, Sylvia Park, Thursday  16th July 2009 – and the topics above are just there in case we run out of anything else to talk about (which is rare).

For more details on the location and write-ups of previous sessions you can consult the associated wiki.

Lastly…

Lastly – watched this video tonight on channel 9, where Brian Beckman and Erik Meijer whiteboard the IObservable and IObserver interfaces, exploring it as a Dualisation of IEnumerable and IEnumerator i.e. the underpinnings of reactive programming, and how this allows us to bring Linq to events.  Great to see this will get adoption at the framework/Microsoft level – and I think the IObserver interface looks easier to follow and more complete (especially with respect to handling exceptions) compared to say the Reactive Linq library Tomas Petricek blogged about last year which I used on some toy projects at the time.

Had a quick play around with implementing some of the basic functionality, like Where, Select, Take, Last, Merge, Rate Limiting etc. while watching the video, just to see what was involved, you can take a look at all the code here if you’re curious.

posted @ Wednesday, July 15, 2009 12:30:29 AM (New Zealand Standard Time, UTC+12:00)    Comments [2] | |
# Tuesday, July 07, 2009
Hi All,

Just a quick update re: the next Architecture Chat.

Last weeks chat didn't go ahead because I was overseas on leave, and unfortunately on my way home I picked up a dose of some mega flu which is knocking me around something fierce - apparently it's not of the swine variety, but I'm starting to wonder...

At any rate, rather then unleash it upon everyone else I'll hold off setting up another chat until I've recovered - so I suspect that'll mean Thursday next week, 16th July.

If you have any topic suggestions for next week, just leave a comment on this post, flick me an email or message me on twitter.  Look forward to seeing you all then.

posted @ Tuesday, July 07, 2009 11:01:07 PM (New Zealand Standard Time, UTC+12:00)    Comments [0] | |
Sorry for the delays, here's the write-up for the last architecture chat.
  • Discussed equivalent Java WAR Files, and options/alternatives (or lack there of) for .Net - including Sharepoint's WSP files, and the Microsoft web platform installer.
  • Internationalisation - discussions around the lack of good, free tools for i18n'ing applications and user interfaces easily.
  • Crunchpad device, and a brief side-conversation about Mike Arringtons antics in the geek media lately.
  • Build Providers, and their uses.
  • Refactoring legacy code as a skill and discussions around painting inwards from many corners and other apporaches to dividing, conquering and controlling legacy code.
  • Vodafone MM7 gateway on the way.
  • Outsourcing / Telecommuting, and general factors such as Time zones, synchronizing streams of works, the productivity bonuses and personality challenges of working away from your team.
  • Ipod touch as a handheld device to target for business app development.
  • Conditional defines, modularity and the roll on effects for continuous integration and support.
  • Mono's difficulties/bad PR on Linux as people get confused/concerned about licensing.
  • Memory mapped files in .Net 4.0 (easier to use that you'd expect).
  • Was ruby the right choice - discussing thoughtworks experiences with ruby, the velocity at which new tools are developed/adopted/dropped for the ruby platform, and what paralells and differences exist between it and .Net.
We also had a new comer, who's just moved back to Auckland from overseas, Josh Robb.  Always glad to see new faces!
posted @ Tuesday, July 07, 2009 10:37:49 PM (New Zealand Standard Time, UTC+12:00)    Comments [0] | |
# Wednesday, June 17, 2009

Hi All, It’s that time again – time for another Auckland Architecture chat.

Some possible topics I’ve come across in the last couple of weeks:

We’ll be meeting at the usual time of 11:30am @ Garrisons, Sylvia Park, Tomorrow (Thursday 18th June 2009) – and the topics above are just there in case we run out of anything else to talk about (which is rare).

For more details on the location and write-ups of previous sessions you can consult the associated wiki.

    posted @ Wednesday, June 17, 2009 2:47:23 PM (New Zealand Standard Time, UTC+12:00)    Comments [0] | |
    # Monday, June 08, 2009

    Here’s what we talked about at last weeks weeks Architecture chat…

    • Black fibre (sparked off by this story in the US)
    • Unmarked helicopters.
    • Open XML SDK 2.0 April Refresh.
    • Need for XML Tidy / Reformatting / Code clean of word xml before parsing/processing it with automated tools to simplify/combine runs etc.
    • Writing your own mini-DNS server, and approaches to programmatically balancing load and geographic distribution via DNS.
    • Legacy codebases, and the true cost of “small updates” to legacy apps.
    • Outsourcing horror stories.
    • Encrypted stored procedures.
    • Wolfram Alpha, Google squared and Google wave and the joys of tabular data.
    • Data centre location/latency issues (especially for parts of Europe and the pacific/Oceania regions).
    • Project Natal for XBox 360

    Next meeting is Thursday, 18th June 2009 – see you all there!

    posted @ Monday, June 08, 2009 5:54:38 PM (New Zealand Standard Time, UTC+12:00)    Comments [0] | |
    # Wednesday, June 03, 2009

    Apologies for not posting these sooner – here are the write-ups for the last month and half of Architecture Chats.

    • Word & Excel document generation - testing approaches, the problems with verifying document structure without styling, interop performance bottlenecks etc.
    • Metadata, n-triples & semantic web.
    • Supporting micro formats, formats that aren’t formats etc.
    • Symantec SVS.
    • Software Engineering degrees vs. Comp Sci degrees, comparing volumes of practical experience, projects etc.
    • NDA's & Student projects and the risks involved with offering projects to students vs. protecting IP / perceived business advantages.
    • NUnit 2.5 details.
    • Winforms to WPF - talking about why such a thing exists, the obvious risks and potential messes such a tool can create if not taken as just a learning tool.
    • Longevity of purpose built languages vs. general purpose languages.
    • ExtJS - I've talked about this JavaScript library a few times, but I don't think I've ever linked to it - so go check out the samples if you haven't.  Great fit for MVC based RIA's.
    • Making code changes on site - advantages, disadvantages - and the relationship/perceptions it creates with customers (customers are either impressed, or begin to feel you can fix anything given a couple of hours).
    • Observing customers on site using your software, difficulties in doing this without being onsite, ways to automate this etc.
    • Entity Framework - ESQL.
    • NHibernate HQL AST
    • Visualising Linq queries, current options, what’s missing etc.
    • Flagging builds which are released to customers vs. builds which are released internally, and different approaches to versioning etc.
    • Domainz hacked, msn redirected
    • Sql injection attacks still working far too often.
    • Nokia 1100 - huge demand, changing numbers, banking scams.
    • Scaling and implementing document & distributed/persistent hash tables… including talking about CouchDB, MyISAM and Esent (Extensible Storage Engine).
    • Lucene.Net - using/abusing it for storing your data along with search documents, and performance implications (i.e. the observation that it's still quick).
    posted @ Wednesday, June 03, 2009 9:47:38 PM (New Zealand Standard Time, UTC+12:00)    Comments [0] | |

    Apologies for the last minute notice, been a crazy week!

    Tomorrow is the Auckland Architecture Chat, some quick thoughts as to topics:

    We’ll be meeting at the usual time of 11:30am @ Garrisons, Sylvia Park, Tomorrow (Thursday 4th June 2009) – and the topics above are just there in case we run out of anything else to talk about (which is rare).

    For more details on the location and write-ups of previous sessions you can consult the associated wiki.

    posted @ Wednesday, June 03, 2009 9:01:35 PM (New Zealand Standard Time, UTC+12:00)    Comments [0] | |
    # Wednesday, May 20, 2009

    Hi All, Architecture Chat Tomorrow!

    Below are a few topics that have caught my eye lately:

    We’ll be meeting at the usual time of 11:30am @ Garrisons, Sylvia Park, Tomorrow (Thursday 20th May 2009) – and the topics above are just there in case we run out of anything else to talk about (which is rare).

    For more details on the location and write-ups of previous sessions you can consult the associated wiki.

    posted @ Wednesday, May 20, 2009 1:48:36 PM (New Zealand Standard Time, UTC+12:00)    Comments [0] | |
    # Wednesday, May 06, 2009

    Hi All, Architecture Chat Tomorrow… here are some possible topics of discussion.

    We’ll be meeting at the usual time of 11:30am @ Garrisons, Sylvia Park, Tomorrow (Thursday 7th May 2009) – and the topics above are just there in case we run out of anything else to talk about (which is rare).

    For more details on the location and write-ups of previous sessions you can consult the associated wiki.

    posted @ Wednesday, May 06, 2009 8:42:27 AM (New Zealand Standard Time, UTC+12:00)    Comments [1] | |
    # Wednesday, April 22, 2009

    Hi All, Architecture Chat Tomorrow… some quick topics that have caught my eye over the last couple of days:

    We’ll be meeting at the usual time of 11:30am @ Garrisons, Sylvia Park, Tomorrow (Thursday 23rd April 2009) – and the topics above are just there in case we run out of anything else to talk about (which is rare).

    For more details on the location and write-ups of previous sessions you can consult the associated wiki.

    posted @ Wednesday, April 22, 2009 4:17:44 PM (New Zealand Standard Time, UTC+12:00)    Comments [0] | |
    # Monday, April 13, 2009
    Smallish turnout - but it was right before the start of a 4 day weekend here in NZ, so hardly surprising.

    Topics discussed...
    • Architecture group structure / communication channels / website etc.
      • Building a better website for the Architecture Chat (Wiki etc.).
      • Taxonomy / themes our discussions often take (i.e. Business, Education/Training, Local/Central Government, ORM's & Domain Driven Design, WPF/Silverlight etc.)
      • Distributing the workload of "write-ups" - by having each discussion topic as a page on the wiki, with each discussion extending that topic - and the ability to continue the discussions outside of the fortnightly meetings.
      • Possibility of somebody donating some design time to set up the structure for the site.
      • Group library
      • Swag / prizes (not sure how this would work just yet).
    • Beer & Bytes - Peter went along, and noticed how few people had even tried a "hello world" in WPF or Silverlight, and the difficulty of succinctly defining just what WPF is / it's value proposition in a few short sentences (perhaps this is a good question for stack overflow?).
    • The generally false opinion (with some anecdotal evidence from Peter) of thinking it's easier to quickly throw a prototype/small UI for an app together in Windows Forms vs. WPF when you're in a hurry, or trying to avoid the additional issues of deploying the 3.5 sp1 framework along with your application.
    • Commercial controls for WPF vs. Rolling your own, and the general decline the number of commercial controls you need to build an application.
    After that the conversation veered off into boatin stories for the remainder of the meeting - so we decided to call it quits and head to lunch.

    I look forward to seeing the rest of our regulars back in a fortnight, and hope everyone is having a good Easter break!

    posted @ Monday, April 13, 2009 11:15:48 AM (New Zealand Standard Time, UTC+12:00)    Comments [3] | |
    # Wednesday, April 08, 2009

    Architecture chat tomorrow, pretty topic-light this week.. some quick things that have taken my interest recently:

    • ALT.Net Podcast featuring Jeremy Miller – An interesting follow-up after the Scott Bellware discussion last week, and probably more inline with how I see ALT.Net.
    • Loads of azure info coming out over the last few weeks.. I think this OakLeaf Systems post sums it up best.
    • Mauricio Scheffer has an interesting blow-by-blow post on using Castle Windsor’s fluent interface with F# - and the fact that it’s… not so fluent.  Definitely something to give thought to when crafting fluent interfaces – are there going to be F# or other language clients, and just what is their experience going to be like?
    • Interesting ncommon library – a generic framework for Unit of work, generic Repository<T>, validation and business rules etc.  Supports NHibernate, Linq2Sql & EF. See the Steve Gentile post for more details.  Though obviously a Repository<T> isn’t to everyone’s tastes or necessarily a fit with repositories being a business concern.
    • Alex James has been posting a bunch of EF tips (11 so far).
    • Got a couple of books from O’Reilly for review / the group library – Let me know if anyone at the chat would like to read them / review them – they are: 97 Things Every Software Architect Should Know and Beautiful Architecture.  Or if there any books they’d like the group to get to read/review.

    Also wouldn’t mind discussing the Architecture group itself – i.e. Possibility of North shore meet-ups, setting up a dedicated website, what the name of the group should be, handing out swag etc.

    Last of all – would be interested to see if anyone made along to the Beer & Bytes this week (unfortunately I was stuck in a meeting that evening) – looking at Preet’s blog post I suspect a few of you did.

    We’ll be meeting at the usual time of 11:30am @ Garrisons, Sylvia Park, Tomorrow (Thursday 9th April 2009) – and the topics above are just there in case we run out of anything else to talk about (which is rare).

    For more details on the location and write-ups of previous sessions you can consult the associated wiki.

    posted @ Wednesday, April 08, 2009 9:12:04 PM (New Zealand Standard Time, UTC+12:00)    Comments [0] | |
    # Thursday, March 26, 2009

    Average turn out today - with 5 of us showing up, had some interesting discussions though – here’s a list of some of the stuff we talked about:

    • Field naming… giving up the habit of underscores, then taking them up again to avoid the additional wordiness of this.whatever, and the practice of avoiding adornments for fields etc. in unit tests to improved the readability/scanability of tests.
    • Method naming, the move towards more readable/unique names vs. less descriptive heavily overloaded methods, i.e. Find vs. FindByName, FindById etc.
    • Inner classes used to firewall logic inside a class or hold shared context for a set of operations, the inherit difficulty in testing this, and whether it’s a logical refactoring, or a design decision you tend to make up front when writing the outer class.
    • The survey on how relevant computer science teaching is (i.e. how does the curriculum compare with the real world).  Being run by Tony Gorschek, Blekinge Institute of Technology, Sweden & Ewan Tempero, Auckland University, New Zealand.
    • Approaches to testing applications which depend on a large number of small islands of configuration loaded at run time (i.e. xml etc.) which are interdependent – the challenges of validating individual snippets, and issues with snippets potentially relying on other snippets etc.
    • Redgate taking over reflector.net, and interesting new debugging product coming out as a result.
    • Rolling your own licensing frameworks, the mixed reaction of being a target for crackers (someone likes me product, but someone doesn’t want to pay for it), realities of they’ll never pay anyway, common mistakes made when building your own licensing (putting all your license code in a separate assembly, not signing it, not obfuscating) and things like using ILMerge with internals.
    • Native compilation tools and all-in-one framework bundling tools for .Net (thinstall, remotesoft salamander, Mono etc.).
    • CouchDB and scalability/query qualities (unfortunately more questions then answer, Peter B & Myself need to have a play with this stuff and report back next time) – interests in insertion costs when you have lots of views, are queries against views really a cheap operation/linear cost.
    • SEO & Silver light tips and tricks – also discussed hacking browser history in the same was we do with ajax.
    • Web crawlers pretending to be mobile clients.
    • Protocol buffer & .net implementations such as protobuf-net which you can use with classes marked up with data contracts.
    • Groking IoC, what are the lights on moments – the difficulty some have with jumping from the principles of DI/IoC to using a container. 
    • Discussed if there might be some value in presenting on practical use of an IoC container at a local user group, as the DI/IoC conversations we’ve had in Auckland over the last few years tend to stop short of that point, and it’s often hard to make the jump from manually doing DI verses using a container to wire everything up and the advantages/disadvantages of doing so.

    Thanks to all who came, see you in two weeks.

    posted @ Thursday, March 26, 2009 11:51:44 PM (New Zealand Daylight Time, UTC+13:00)    Comments [1] | |
    # Wednesday, March 25, 2009

    Architecture Chat #42

    Quite a good turn out, fairly rambling – we talked about:

    • Rolling your own caching, approaches, what’s currently offered by EF and the pitfalls etc. of attempting to substitute database caching with action caching/memoization or partial view caching.
    • General discussions on financial situation, current challenges for people running development shops etc.
    • Scaling applications, and affects of coding for a non-relational backing data store.
    • Continuous integration, Jamie mentioned the interesting Continuous Deployment at IMVU: Doing the impossible fifty times a day.

    Architecture Chat #43

    Small turn out - 3 people, Peter B & Time Barnet (from Hamilton) & Myself.

    Most of the discussion was around the .net community in New Zealand, we talked all things community related in NZ- mailing list (including the hamster), what’s going on in the user groups, what could be done better, wiki’s, collaboration etc.  Also contrasted NZ’s community with what’s happening elsewhere in the world, the current decline of regional mailing list interest compared to growth of stackoverflow and other more internationally focused development communities.

    Also discussed the recent alt.net conference, some of the outcomes, the challenges of really getting mainstream developers interested and the difficulties developers have in getting productive in the .Net community verses others such as php, python or ROR.

    Also briefly discussed the lack of a package management solution for .Net developers to make managing interdependencies etc. easier.

    posted @ Wednesday, March 25, 2009 9:30:58 PM (New Zealand Daylight Time, UTC+13:00)    Comments [0] | |

    Apologies for the late posting, there is in fact an Architecture Chat tomorrow, at the usual time of 11:30am @ Garrisons, Sylvia Park (Thursday 26th March 2009).

    Some topics that have interested me lately which we might want to discuss:

    Also we only had 3 people including myself turn up last time, a new low (a flight of the conchords band meeting basically ;o) – but one of the participants had driven all the way from Hamilton just to attend, so well done there!

    ..which also means I’ll be recycling many of the previous topics we didn’t cover last week as well:

    • Relational data features to come to Azure (via TDS no less, so nhibernate/lightspeed/EF etc. on Azure are a reality) and REST to go away. My first thought is will it scale, or do we still need to fall back to an EAV approach when dealing with huge datasets?
    • T4 Support in Mono. I’d also be interested in talking about who’s using T4 and for what.
    • Moq 3.0 has gone RTM.
    • DevHawk has an interesting series of articles on writing an IronPython debugger.
    • Ivan Porto Carrero is making good progress on his IronRuby MVC implementation.
    • Gem/package/dependency management tools for .Net emerging and existing/dead – ngems, rocks, horn, nmaven, NPanday, Byldan or even just using ruby gems itself…  What’s going on in this space, how it might improve .Net adoption (and some of the thoughts people have blogged about the subject after the alt.net conf).
    • Casey Charlton is starting to blog about a sample DDD application, the DDD Parcel Service, which should be an interesting exercise to follow.
    • Dr Dobb’s Journal (DDJ) is dead – though I haven’t bought an issue in a few years, and really they were too expensive in NZ currency terms for what little you got, it seems a little sad… are there any print magazines left for the developer?
    • Roy Osherove is surveying to see what unit testing / mocking frameworks people are using – hopefully this will get enough responses to be somewhat balanced.
    • Recent Alt.net Conference in Seattle … what went on, some interesting thoughts from people like Scott Hanselman, Ayende, Simone and an interview on the alt.net podcast with Scott Bellware.

    We’ll be meeting at the usual time of 11:30am @ Garrisons, Sylvia Park, Tomorrow (Thursday 26th March 2009) – and the topics above are just there in case we run out of anything else to talk about (which is rare).

    For more details on the location and write-ups of previous sessions you can consult the associated wiki.

    posted @ Wednesday, March 25, 2009 9:03:51 PM (New Zealand Daylight Time, UTC+13:00)    Comments [0] | |
    # Tuesday, February 24, 2009

    Architecture chat this Thursday, 26th February, 11:30am, Garrisons, Sylvia Park, Auckland.

    I’m short on topic ideas, mostly because I’ve been playing catch-up over the last couple of weeks, but I have a few small things that piqued my interest:

    • New Zealand copyright blackout - implications for development community. and 92a delayed.
    • StyleCop for ReSharper.
    • Language-agnostic code contracts (here and here).
    • The state of caching in the Entity Framework, and approaches to implementing caching in an ORM / rolling your own 2nd level cache implementation.
    • Optional and named parameters in C# 4.0 and some interesting observations on versioning issues with the current implementation.
    • Prism 2.0 is now live.
    • The bad apple effect - anyone seen this in wild recently?
    • MonoDevelop 2.0 – the first beta has been released… Some interesting things like support for the Vala language, new native C# editor implementation and an eagerness to bring monodevelop to windows.
    • Quince - Interesting UX Patterns explorer from Infragistics.

    I’ll see you all this Thursday, and remember new comers are always welcome – just drop me an email/comment to let us know your coming along so we can track you down.

    Note: Write-ups of previous meetings and additional info i.e. directions to the location, are available on the wiki.

    posted @ Tuesday, February 24, 2009 11:32:52 PM (New Zealand Daylight Time, UTC+13:00)    Comments [0] | |
    # Monday, February 23, 2009

    Last architecture chat was a fairly small turnout, and as such we ended up having a fairly focused conversation mostly around NHibernate, here’s what we talked about on the day:

    • The rise of interest in NHibernate recently.
    • The NHibernate 3rd party tooling market and side projects.
    • What tooling / projects for NHibernate could increase developer velocity.
    • NHibernate discussion around a number of points:
      • Single table / class table inheritance.
      • Can you mix both the types of inheritance together.
      • Can a discriminator cross multiple columns.
      • Discriminator mapping over a range i.e. CreatedDate < 2003, instantiate a GoldCustomer, otherwise if CreatedDate >= 2003 instantiate a premium custom (change in customer structuring post 2003).
      • Ability to support stored procedures in NHibernate where parameters are not in the expected order, or if multiple stored proc calls are required to persist an entity and possible work-arounds.
      • Custom column types, limitations etc.
    • General ORM questions
      • Does the ORM with the best tooling with out long-term for .Net?
    • Obfuscation and License Products.
      • Why is it such a problematic space…
      • The issues people have.
      • The pain of rolling your own.
      • References to the post from Ayende on his problems with XHEO.
    • Refund policies of software product companies (especially components/libraries for developers).
      • Why companies get stubborn about refunds.
      • Just how many refund requests companies get (consensus – not that many).
      • The associated cost of bad service with considering reactions being represented in public (blogs, twitter etc.).
      • The point at which most companies should offer a refund, and should they offer it before the customer asks ex. if they can not resolve their issues in a timely manor (or at all) before eroding the money earned from the sale in the first place.
    • Factor – briefly talked about it before we finished up, I think I’m going to give up trying to get other people interested in it :) postfix notation and stacks just seems to conjure up thoughts of assembler in most developers minds.

    Next chat is this Thursday, 26th of February at 11:30am.

    posted @ Monday, February 23, 2009 1:48:39 PM (New Zealand Daylight Time, UTC+13:00)    Comments [3] | |
    # Wednesday, February 18, 2009

    Just a quick Architecture Chat update – due to a family bereavement that occurred this week I’m postponing the Architecture Chat till next Thursday (26th February).

    I’ll post the write-up for the last chat soon, as well as a follow up post of possible topics for the next chat – sorry for any inconvenience this might have caused, hope to see you all next week!

    posted @ Wednesday, February 18, 2009 6:39:13 PM (New Zealand Daylight Time, UTC+13:00)    Comments [0] | |
    # Monday, January 26, 2009

    This is the write-up for last weeks Architecture Chat #40 – you may be wondering what happened to #39 from last year – unfortunately the paper I noted all the details down onto mysteriously disappeared during the run up to xmas, we covered a few interesting things in that last session - one conversation I do recall that was focused on monitoring windows services - dealing with falling over (including fail over), ways to engineer windows services so they are both robust and easy to debug/diagnose, and the effect of using MSMQ over say a roll-your-own file or database solution for queued data/messages.  Hopefully at some point I’ll track down the notes so I can post the entire write up with all the details.

    In the mean time here is the write up for #40…

    For our first meeting of the year we didn’t talk about much that was on the list of topics, as everyone was just catching up on the general state of the industry - we also saw some old faces, including one who hadn’t been to a chat for more then a year!

    Here’s what we talked about:

    • Fruit packing machines, and the differences between rapid prototyping of machines (i.e. multiple months) verse rapid prototyping of software (a couple of weeks or less).  Also talked about the cost/current state of rapid prototyping machines and devices that can build themselves.
    • Talked about the current financial state – if anyone is seeing a slowdown (the answer in short – yes) but most people were having a busy January, with little idea of what would happen six months from now.
    • Talked about the 1400 (though it’s eventually going to be something like 5000, according to the press) Microsoft Staff lay-off's that happened last Thursday and/or were about to take place the following day – and did some musing around what departments were being laid off, why, and if any of our NZ exports into Microsoft would be affected (The Entity Framework and SharePoint teams seemed fairly unscathed).
    • Talked briefly about increased intensity in recruiters cold calling – and the interesting phenomenon of them making explicit enquiries into how business is going, if you think it’s going to get worse over the coming months etc.  It seems like recruiters have less idea what’s going on then developers in the NZ IT Industry.
    • Talked about the interesting observation that a number of BA’s and PM’s are rejoining the industry after diverging into other careers such as real estate – and the obvious warnings about checking their recent employment histories, as they are inevitably out of touch with the world of technology.
    • Briefly discussed thoughts on Probative programming, and the fact it seems more of a pipe dream then something that could be a reality… being force to write tests before code can compile seems a sure fire way to encourage the wrong kind of testing practices, and certainly would result in tests being written “just for the sake of coverage”.
    • Discussed Lean – most of us agreed strongly with the ideas of reducing wastage, delaying to the last responsible moment to commit to specific design/implementation etc..  But we did wonder if identifying the last responsible moment is the kind of thing that’s only identifiable once you’ve passed it without prior experience.  I think as our understanding of lean grows and we start dabbling in implementing it ourselves a more well-informed follow-up conversation or two will follow.
    • Talked about form-letter document generation, and issues of current tools/solutions – this also branched off into general word/pdf/rich document generation…some points around this were:
      • Current products are clunky or just too expensive (product opportunities exist for smart people).
      • Using the Word COM API vs. directly manipulating the XML in the DOCX package (which is of course just a zip file).
      • Use of 3rd part libraries for document generation (such as Aspose.Words).
      • Replacing content in PDF’s, different between text and binary PDF’s.
      • The interesting note that for generating rich documents (like product catalogues) the automation API for PowerPoint is a lot easier to use then that of Word (for client apps).

    The next chat will be on the 5th of February – Which is the day before Waitangi day – so if anyone can’t make it drop me an email and I’ll look at rescheduling it to another day that suits everyone.

    posted @ Monday, January 26, 2009 10:02:09 PM (New Zealand Daylight Time, UTC+13:00)    Comments [0] | |
    # Tuesday, January 20, 2009

    The Architecture Chat is starting up again for 2009, with the first one planned for this Thursday, January 22nd 2009, 11:30 am, Garrisons @ Sylvia Park.

    I’m still building a list of topics – here are some initial thoughts and things that have taken my interest lately - and of course you can leave a comment on my blog or send me an email/IM with any topic suggestions you might have:

    • Probative Programming.
    • Lean Software development growing in support, and the Agile community black lash.
    • Factor, Forth and stack based languages in general.
    • Net negative producing programmers.  NNPP.  Do we need barriers to entry into this profession, or some tools that can be used to persuade people to leave?  And what’s the cost of NNPP?
    • Elitism in software development.
    • Aspect Inheritance… Aspect inheritance in PostSharp 1.5 CTP 2 and Deeper Into Aspect Inheritance.
    • Windows 7 Beta First Impressions (I’ve been using it on my laptop for a few days now… Herding code just did a podcast on this as well).
    • What was good/bad about last year (both in the chat, NZ dev community and development space in general) and predictions for this year.
    • Traditional training for developers – do developers still attend training courses in NZ, where, what’s the value etc.

    See you all this Thursday!

    BTW - Write-ups of previous meetings, and directions etc. can be found on the Architecture Chat wiki.

    posted @ Tuesday, January 20, 2009 12:03:42 PM (New Zealand Daylight Time, UTC+13:00)    Comments [2] | |
    # Wednesday, December 03, 2008
    Auckland Architecture chat tomorrow (Thursday 4th December 2008, 11:30am, Garrisons, Sylvia Park).

    Pretty topic light - mostly because I haven't been doing a lot of blog reading lately... but I have a few minor sugestions:
    And of course write-ups of previous meetings and more details can be found on the Architecture Chat wiki.

    The setup.exe event is also on Tomorrow in Auckland from 1pm onwards for those who are interested (not really my cup of tea so I wont be there).

    posted @ Wednesday, December 03, 2008 7:36:36 PM (New Zealand Daylight Time, UTC+13:00)    Comments [0] | |
    # Tuesday, December 02, 2008
    Apologies for not having written up the last couple of Architecture chats - because I'm short for time I'm just going to publish some links for the various things we talked about in both chats.

    Code Analysis Toolks (Chat #38)
    • NStatic - and some of the other stuff Wesner Moise gets up to.
    • PREfast Analysis tool and some it's history.
    • The demise of FxCop and some discussion about why it doesn't seem to be up to play with the 3.5 Framework and also some discussion around it's Integration with VS.Net.
    • Gendarme from the Mono Project.
    • Smokey - which I think is integrated into mono develop now along with Gendarme.
    • VS2010 Code Analysis & Code Metrics support.
    • NDepend and the challenge of interpreting results.
    Domain driven design examples (Chat #38) - we had a brief lunchtime discussion around what's out there and the difficulties in finding more holistic examples - the Shipping sample is a good resource, but is for Java - there was a proposal a while back on the ALT.Net list to port this over to .Net & NHibernate (with a first cut of the domain model done with Naked Objects) but haven't heard much since.

    Discussed that Microsoft etc. are still searching for more industry mentors in Auckland to participate in the Imagine Cup 2009 - incidentally this year the topic is a lot more forgiving (it came under some critcism last year with it's environmental focus).

    Other topics for Chat #38 Also include BizSpark, and the good parts (great from a cashflow perspective) and bad parts (generally forces you into a forming a seperate company if you've already been established for a while or making the move from bespoke to product) - we also had a discussion/report of the Microsoft Focus group that Garreth & myself attended. 

    Also discussed was the OODB -> ORM Idea and the issues around the performance profile issues you may only discover once you swap to an ORM i.e. SELECT N + 1 etc, as a brief talk about the implications of writing LOB applications in Silverlight, hosted within a winforms app.  I argued against the OODB because most of the benefits can be realised as long as your ORM is capable of generating a schema, such as NHibernate and many others can.

    Chat #37 Covered a lot of PDC details, Windows 7, MS Surface SDK availability, NHibernate profiler, Mozilla Prism, Linq to Sql being put on the back-burner, C# 4 features, The M grammar language and some discussion around things we're not entirely clear on yet i.e. how does M handle migrations and scheme changes as the understanding of a domain/model evolves.  There was a lot more besides that, but my memory fails me.

    The next chat is this Thursday 4th December - it may or may not be the last one for the year - we shall see!

    posted @ Tuesday, December 02, 2008 8:26:19 PM (New Zealand Daylight Time, UTC+13:00)    Comments [0] | |
    # Wednesday, November 19, 2008
    Architecture chat tomorrow (19th November 2008) 11:30am at Garrisons, Sylvia Park.

    Topic light this week (mostly because I've been too busy to keep my eye on blogs/sites all that much).

    Some quick thoughts for topics:
    There are still a few things we never got round to talking about from the last couple of chats as well.

    If anyone else has any suggestions feel free to leave a comment or message/email it to me directly, otherwise I'll see you all there tomorrow.

    Links to write-ups for previous chats, and information on the location etc. can be found on the wiki.

    Oh, and I'll write up the last chat later this evening as well.


    posted @ Wednesday, November 19, 2008 8:37:37 AM (New Zealand Daylight Time, UTC+13:00)    Comments [2] | |
    # Wednesday, November 05, 2008
    Architecture chat tomorrow folks (6th November) 11:30am at Garrisons in Sylvia Park.

    Here's some possible suggestions for topics (if we run out of anything else to talk about) that have caught my eye over the last week or so:
    • PDC Has been and gone - plenty to talk about there!
    • Crack.Net - interesting tool for taking a look at the internals of an executing Winforms or WPF application (and allowing you to make on the fly changes with IronPython...).
    • Chess - Ability to reproduce heisenbugs in concurrent programs - Also got a mention on hanselminutes #136.
    • New DevLabs site/portal for projects like Pex, Chess and no doubt some more soon.
    • The new .Net logo - what do we think?
    • Windows 7 - First look at the UI...
    • Visual Studio 2010 and .Net 4.0 - First CTP is available.
    • More info on VSTS 2010 features came out at PDC.  A good overview is here.
    • Windows Azure - microsoft cloud computing platform.
    • MS Surface SDK now open (well sort of, if you weren't at the PDC session you'll need to spend around $13,500 US to get a development table, which gives you 5 seats for the SDK).  Tables are now available to everyone though. .Net Rocks show #389 also had a good talk on Surface development in general.
    • "Geneva" Claims Based Accesss Platform. Interesting logical next steps after Cardspace and in light of the other Authentication / Authorization standards out there.
    • The Castle project is splitting into more of an umbrella foundation (ah la Apache foundation).  You complained about no V1, now your going to get 20 V1's ;o) - One of the positive outputs of this is that some of the smaller projects will now have leaders and a clear roadmap, rather than just organically growing with patches and immediate needs of the committers.
    • Visual State Manager for WPF (well an early peek at least).
    • NHibernate Profiler - something every NHibernate developer needs at some point (and developed by Ayende).
    • Linq to Sql possibly slated for retirement? JD also has a write-up.
    • Mozilla Prism (formally known as WebRunner) - let's you run your web app as an "application" (i.e. similar experience to Air, but without proprietry technologies) - this could provide some interesting opportunities when developing an ajax-only application (i.e. nothing between the <body></body> tags).
    • Interesting Opinionated ASP.Net MVC post from Jeremy Miller - I think what's worth taking from this is that MVC is something you need to spend a little time on to "make your own" rather then just using what's in the box.
    If anyone else has any suggestions feel free to leave a comment or message/email it to me directly, otherwise I'll see you all there tomorrow.

    Links to write-ups for previous chats, and information on the location etc. can be found on the wiki.

    posted @ Wednesday, November 05, 2008 8:57:10 AM (New Zealand Daylight Time, UTC+13:00)    Comments [0] | |
    # Thursday, October 23, 2008
    Talked about Venture Capital including Incubators like the Ice House & E-Centre ... organisations such as AintoG (and a brief comment on how small Auckland is, because everyone at the table had bumped into at least one of the guys from AintoG at some point), the Ice House pitch competition and VC climate in NZ and around the world with the current financial situation.

    We talked a bit about WPF composability and run time decoration/behaviour extensions (also applies to Web as well) i.e. how do you not only replace or introduce new parts to your application but allow plugin/module/extension developers to adorn and extend existing components of your application (and in such a way to multiple extensions/decorations can be applied to a single component at the same time)... AOP for UI?

    Ajax-only applications and the issues involved with unit testing them compared to traditional applications - the pain of regressions when you don't have enough coverage at the integration level and where bugs tend to crop up when you have nothing between your <body></body> tags, plus a little disucssion around using 3rd party JS control libraries such as extjs.

    The lack of transparency for initiatives like Oslo compared to the other MS projects like MVC, DLR that feel a lot more open.  A number of guys were interested in seeing just what "D" looks/smells like though.

    How to learn WPF, and useful resources including using Safari Books online (which I'm going to sign up to this month to give it a try, Keith raves about it :)

    A brief whine about DevExpress components (bad documentation, poor performance of controls such as their winforms tree component etc.) - and how with the advent of WPF it's often easier to develop your own WPF controls in-house rather then purchase the equivalent online, and the discussion around how building complex controls would never have been attempted with WinForms in house due to complexity.

    The trend of ASP.Net MVC to look a little more like Monorail with every release.

    Routing woes (in both Monorail and ASP.Net MVC) and lack of Area support in ASP.Net MVC.

    Preliminary builds i.e. check in, say to a private branch, it's merged with trunk, private branch builds on build server, if it passes then the merged changes are applied to trunk (to avoid developers breaking trunk, and allowing for more frequent check-ins) and various approaches that could be used to prevent or lessen the chance of breaking the trunk build (also known as gated check in in TFS 2010).

    SVN vs. GIT - the noticeable increase in GIT take-up and mindshare, the lack of mature gui tools, and how/if you could move BA's and designers over to using a tool like GIT and some thoughts around shelving.

    posted @ Thursday, October 23, 2008 2:18:13 PM (New Zealand Daylight Time, UTC+13:00)    Comments [0] | |
    # Wednesday, October 22, 2008
    The fortnightly Architecture chat is tomorrow (23rd October) - 11:30am at Garrisons in Sylvia Park.

    This week I'm going to leave it very open - some quick thoughts on possible things we could talk about include:
    • Silverlight 2 RTM released.
    • ASP.Net MVC Beta Released.
    • Building design/graphing/modelling tools with WPF and competing technologies.
    • The current financial situation/outlook and it's effect on Start-ups, SaaS etc. - which ideas have merit, what untapped markets offer revenue potentials and the harsher crtierias being applied to new ideas (ie. ability to provide imediate cost savings).
    If anyone else has any suggestions feel free to leave a comment or message/email it to me directly, otherwise I'll see you all there tomorrow.

    Links to write-ups for previous chats, and information on the location etc. can be found on the wiki.



    posted @ Wednesday, October 22, 2008 4:55:44 PM (New Zealand Daylight Time, UTC+13:00)    Comments [0] | |
    # Monday, October 13, 2008
    After a general catch-up on what everyone's doing and introductions from a graduate new comer (Nick Irvine) - we launched in talking about robotics including:
    • Automated Kiwifruit picking robots.
    • Fruit laser bar coding and it's lack of uptake so far.
    • The possibility of per-ordered fruit i.e. you identify how you want your fruit, and it's picked at the precise moment when it fits the consumers needs.
    • The user of heuristic markings for fingerprinting of individual fruit (ie. the Idea that nature, by design, provides unique identifier for each piece of fruit, or that we could mark a fruit for identification that wasn't detectable/displeasing to the human eye.
    • Smart cars, self navigating cars, convoy or drafting applications for self-navigating cars and how these systems would deal with disconnections or extraordinary circumstances.
    As an offshoot of self driving cars peter talked a little bit about Scribe (or livescribe - pens that record what you write and say - in unison - and allow playback or online publishing ) - and the future of pen based capture devices and note taking ie. evernote etc.

    We talked around Multi-dimensional separation of concerns, and the idea of having both distinct dimensions (that may not be based on a single physical AOP approach) and modules of concerns, and the challenges/opportunities/solutions these "hypermodules" could provide to every day business problems - this also hi lighted the pitfalls of existing AOP approaches which often let you assemble incompatible/incorrect sets of concerns, which modules could help prevent...

    I talked briefly around REST and the concept of a generic RESTful application development platform that I've been prototyping lately (like dream, but a little more resource and query oriented, and of course with OAuth support OOTB) rather then re-purposing an MVC framework or using WCF (which also feels like a bad fit) or ADO.Net Data Services.

    Last of all we talked about Mass Transit just as we were breaking up - Jamie noted he'd been working on a similar project (but for java?) while at Auckland Uni.  Perhaps I'll have a more in-depth report on it next time as I'm currently experimenting with it at the moment when I get time.

    Thanks all for coming - write-up's of the previous chats can be found on the wiki.





    posted @ Monday, October 13, 2008 9:14:33 AM (New Zealand Daylight Time, UTC+13:00)    Comments [2] | |
    # Wednesday, October 08, 2008
    Hi All,

    The Architecture Chat is Tomorrow - or probably "today" by the time your read this - Thursday 9th October, 11:30am, Garrisons, Sylvia Park.

    Some topics that have caught my eye since last time include:
    If anyone else has some additional topics they'd like to discuss (or raise in absence) then just leave a comment on this post or send me an email.

    See you all tomorrow.  And remember newcomers are always welcome - see the Wiki for details on location and write-ups from previous sessions.


    posted @ Wednesday, October 08, 2008 9:44:12 PM (New Zealand Daylight Time, UTC+13:00)    Comments [0] | |
    # Wednesday, September 24, 2008
    Architecture Chat Tomorrow (Thursday) 25th September 2008 at 11:30am, Garrisons, Sylvia Park, Auckland, New Zealand.

    Some ideas for topics:
    All are welcome - and for new comers directions can be found on the wiki.

    If anyone has any other topics please leave a comment on this post or flick me an email, or of course just bring along your questions/topics on the day - otherwise I'll see you all there tomorrow.

    posted @ Wednesday, September 24, 2008 8:48:56 PM (New Zealand Standard Time, UTC+12:00)    Comments [2] | |
    # Tuesday, September 23, 2008
    Short writeup for the last architecture chat - we had 7 (or was it 8) attending the 11th September 2008 chat - including a couple of intergenites who made the arduous journey over the bridge (always nice to see some new faces!).

    Topics of discussion included:
    • Teched 2008 NZ
    • Lack of developers in New Zealand, and problems/opportunities with current graduates emerging from various institutes.
    • Working for Microsoft, the buy-up of blogging talent.
    • The push to improve the profile of bloggers in NZ.
    • Bloggers Dinner, Scott Hanselman etc.
    • Google chrome.
    • PDC 2008.
    • Managed Extensibility Framework, what it is/is not - though I don't think of any us are quite sure yet - perhaps Hammet needs to do some videos? ;o)
    • Generic Natural Language DSL's and interesting ideas like Intellisense for a Natural Language DSL's (I found this interesting, not sure anyone else did...)
    It was a bit rambling so by the end of it I think most of us were not really sure just what we'd talked about.

    As per usual previous write-ups can be found here on the wiki.  There's also a group on LinkedIn for those who have attended in the past (or plan to attend in the future? perhaps) so you can connect with other participants.

    The next chat is this Thursday - 25th September - I'll post a reminder tomorrow - and if anyone has any topic suggestions please email or leave a comment on this post.

    posted @ Tuesday, September 23, 2008 10:36:27 PM (New Zealand Standard Time, UTC+12:00)    Comments [2] | |
    # Wednesday, September 10, 2008
    Architecture chat tomorrow, Thursday - 11th September @ 11:30am onwards.

    Some possible topics / things that have caught my eye lately:
    • Google Chrome - V8's great, flash works but our "anywhere" platform silverlight wont, and apparently not until chrome gains market share... hmmm.
    • TechEd Roundup - including the infamous keynote.
    • Teched Bloggers Dinner report and related "NZ blogging push" for the next year.
    • C# Library for controlling EC2 Instances (via David)
    • Generic Natural Language DSL (via ayende)
    • Managed Extensibility Framework (MEF) Preview 2 vs. Mono.Addins.
    • Resharper 4.1 released.
    • Spec/BDD frameworks (MSpec, StoryQ etc.)
    • Monorail in the Cloud.
    See you all there!

    P.S. Information regarding the location and previous chat write-ups can be found here.

    posted @ Wednesday, September 10, 2008 8:50:20 AM (New Zealand Standard Time, UTC+12:00)    Comments [0] | |
    # Tuesday, September 02, 2008
    Hi All,

    I'm afraid I'm going to have to postpone the Architecture chat until next week, due to other commitments on Thursday.

    So it's now rescheduled for next Thursday - 11th September - if anyone has any topics, or saw anything cool at code camp or teched this week then leave a comment on this post and I'll add to the list of topics for next week.




    posted @ Tuesday, September 02, 2008 3:45:13 PM (New Zealand Standard Time, UTC+12:00)    Comments [2] | |
    # Monday, August 18, 2008
    Hi all, there's an Architecture chat this Thursday - 21st August @ 11:30am onwards.

    Some things that I've caught my eye since last time:
    • .Net 3.5 SP1 and VS2008 RTM are here
    • VS2K8SP1 and SQL2K8 installs are a big mixed bag, some people no problem, other tearing hair out!
    • And so are the war stories such as regressions and critical changes - doh!
    • Visibility and trouble with non-developers being unable to quantify the quality of developer outputs - sparked off by this post by Casey.
    • Resharper 4.01 RC1 is out.
    • ASP.NET MVC now and in the future (i.e. where it's going, and perhaps a discussion on future of monorail vs. MVC and Monorail 2??).
    • Security practices on MVC, WCF etc.
    • Redmine - an interesting (and nicer) alternative to Trac - wonder if there's an easy transition path for existing Trac sites?
    Edit: updated this list with some suggestions from others.

    If anyone has any topic suggestions - just make a post on this entry, or send me an email / IM message.

    Details of previous posts and directions etc. can be found here on the wiki.

    posted @ Monday, August 18, 2008 10:47:10 PM (New Zealand Standard Time, UTC+12:00)    Comments [5] | |
    Here's the write-up for Architecture Chat #32 (from Thursday 7th August 2008) ... some of the things we discussed:
    • Jabl / Jass  (Javascript abstraction language) - we discussed this approach of writing languages that transform into another language - the tradeoffs of debug experience vs. productivity etc.
    • Debug experiences in DSL's and in particular the lack of support in these language rewriting/transformation projects.
    • The magic bullet language i.e. two-way debugging experience, language independent refactoring support, modular/pluggable language support (sorta like Boo).
    • Code camp at the end of this month.
    • Self explaining code / blaming code (i.e. code that can explain the decisions it makes in english, or at least identify the blame (i.e. steps) that lead to the result it selected.  Though we didn't bring it up, I quite like the way Rhino Security does this.
    • xUnit thoughts after a month of using it on a commercial project.
    • Ice ZeroC - WCF alternative?
    • Sql Server partitioned tables, and the simpler query plans / improvements in 2008.
    See the wiki for write up's of previous chats, thanks to all those who attended.

    posted @ Monday, August 18, 2008 6:22:54 PM (New Zealand Standard Time, UTC+12:00)    Comments [4] | |
    # Wednesday, August 06, 2008
    There's a few things going on in Auckland over the next month or so, just to summarize if you haven't been paying attention :)
    So plenty of things going on!

    I would suggest signing up for the code camp sooner rather then later if you don't want to miss out - also if you know of any other events that I've left off this list, drop me a comment and I'll add them to it.

    posted @ Wednesday, August 06, 2008 7:23:04 PM (New Zealand Standard Time, UTC+12:00)    Comments [0] | |
    Architecture chat tomorrow at 11:30am... I'm going to leave it fairly open for topics so all come along with something interesting to say ;o) ... or leave a comment on this post if you'd like to give me or anyone else a heads up on what you'd like to talk about.

    Some things I'd personally be interested:
    • Auckland recruitment environment.
    • Must read books for both new and seasoned developers alike.
    • Implementing code that can explain itself - for example security mechanisms able to explain (in English) why you do or do not have access, DSL's that give meaningful reasons for the decisions made, and how to flow those messages through the context of operations etc.
    All are welcome - drop me an email if you're a new comer and we'll keep an eye out for you!

    Information regarding the location and previous chat write-ups can be found here.

    posted @ Wednesday, August 06, 2008 3:22:42 PM (New Zealand Standard Time, UTC+12:00)    Comments [0] | |
    # Monday, July 28, 2008
    This is a writeup for the last 2 architecture chats - both were pretty free-form, with little of the topics mentioned in the posts getting much discussion as we all had own things to talk about!

    As a brief summary:

    Plenty of talk about Lightweight code-gen and run-time vs. post-compile IL weaving, debugging integration etc. Hard to cover all the little facets that were explorer - but it's been interesting - it seems like more developers are starting to dabble with IL.

    We talked about approaches for introducing cross-cutting behavior such as versioning and history to your data access and approaches for flowing metadata from your domain model up to the UI (including searching, validation etc.) and ways to index, query and flow the information across boundaries in the application.

    As a tangent to this I've been talking about how I've been using MDA/MDG to drive the domain model generation (including things like validation, search annotations etc.).

    We talked about the recent S3 outages and approaches for placing resources on both European and US data centers simultaneously, and possible ways to mitigate the double-upload bandwidth costs.

    Discussions (sparked originally from a email discussion on the NZ dotnet user group) around hiding the implementation details of your ORM from the rest of your application - and the practicalities of how deep this needs to go, using linq through boundaries etc.

    Discussions around injecting logic into generated source code, both in asp.net/winforms generated code as well as possible ways to intercept custom tool generation so you could manipulate the output.

    Spartan programming got a mention - Peter felt it aligned with alot of his current coding style.

    Embedding NHaml as a view engine in non-MVC applications, and the general experience with different view engines including Brail, ASP.NET MVC's default ASPX View engine etc.  (Including the error reporting and debugging experience) - We also talked briefly about the Spark view engine, which looks to be like it could be quite palatable to non developers while still offering a useful syntax for developers.

    If anyone has any topic suggestions for next weeks chat just leave a comment on this post or flick me an email.

    posted @ Monday, July 28, 2008 6:38:09 PM (New Zealand Standard Time, UTC+12:00)    Comments [5] | |
    # Wednesday, July 23, 2008
    Sylvia Park Architecture chat tomorrow - 11:30am - all welcome - see the wiki for more details.

    Some possible topics:
    Also we didn't cover some of the topics from last time, so I'll recycle them.
    • Non-paged CLR host - Nno paging during normal operation and no paging will occur when the application is idle.... hmmm... could be useful!
    • StyleCop - C# source code analysis for compliance against a set of rules that embody Microsoft's own style conventions.
    • Spartan programming
    • PSake - build automation tool without the angle bracket "tax" (bit like rake or bake (boo make) - but with more similiarity to existing command line tools).
    • Dependency Injection is dead? (A provocatively named article, but really it's just about using compile-time IL-weaving to do lazy loaded DI).
    • TypeMock racer - interesting deadlock finder (still under development) - and probably a sign of things to come (i.e. array of tooling to verify sound multi-threaded code).
    • AAA style syntax for Rhino Mocks (Arrange, Act, Assert) - I've been using this for the past couple of weeks on a project, it really allows for concise easy to read testing with stubs/mocks.
    Look forward to seeing you all there!

    posted @ Wednesday, July 23, 2008 1:30:11 PM (New Zealand Standard Time, UTC+12:00)    Comments [0] | |
    # Wednesday, July 09, 2008
    Architecture chat tomorrow, some things that have caught my eye lately:
    • Non-paged CLR host - Nno paging during normal operation and no paging will occur when the application is idle.... hmmm... could be useful!
    • StyleCop - C# source code analysis for compliance against a set of rules that embody Microsoft's own style conventions.
    • Spartan programming
    • PSake - build automation tool without the angle bracket "tax" (bit like rake or bake (boo make) - but with more similiarity to existing command line tools).
    • Dependency Injection is dead? (A provocatively named article, but really it's just about using compile-time IL-weaving to do lazy loaded DI).
    • TypeMock racer - interesting deadlock finder (still under development) - and probably a sign of things to come (i.e. array of tooling to verify sound multi-threaded code).
    • AAA style syntax for Rhino Mocks (Arrange, Act, Assert) - I've been using this for the past couple of weeks on a project, it really allows for concise easy to read testing with stubs/mocks.
    If anyone has any topics they'd like to cover just leave a comment on this post (so other's can get a heads up as well).

    Notes from previous meetings and directions etc. can be found here on my wiki - all are welcome to attend.

    Also tonight is the Ellerslie .Net user group - A testers perspective's with Hafiz Vegdani, starting at 6pm.

    posted @ Wednesday, July 09, 2008 9:35:58 AM (New Zealand Standard Time, UTC+12:00)    Comments [1] | |
    # Monday, July 07, 2008
    Reasonable turnout at the last Architecture Chat - appologies about the late write-up!

    So we talked about a few things last week - on a recurring them of IL generation and weaving we discussed verifying generated assemblies with PEVerify - and how to ensure IL you generate is not invalid and Garreth mentioned some issues with ILDASM crashes when using Mono.Cecil.

    We talked about the process for wrapping and abstracting functionality and services, and I gave a brief mention to this blog post which provides a slightly more formalized description to this process - Wafagy.

    The discussion moved onto file/XML persistence and substituting traditional relational databases with alternative persistence mechanisms, especially in the cloud.

    Static analysis tools were discussed, and thoughts about what (if any) alternatives exist to tools such as NDepend.

    We talked about the use of "toolkit" style projects such as the Umbrella project or Rhino Commons and the compromise often felt between plucking out only the bits you want (to control the surface area of your project) verses the wish to easily integrate updates and unit tests from the library into your project as they undergo continual improvement.

    I also talked about hostile templating/transformation languages (such as the template language in Enterprise Architect which I've been using for a recent project) and what features make a domain or templating language "hostile" to being part of your daily process i.e. lack of debugging, lack of comment syntax, poorly identified or completely missed syntax errors, left to right expression evaluation, lack of operator presidence rules etc.

    I then gave a quick run through how I've been using the MDA and MDG to model a PIM (platform independent model) of the domain, including OCL constraints, and how it's automatically transformed into a platform specific model (Castle ActiveRecord with validation attributes in this case) which is then used to generate code from - and the issues I've encountered so far with the tool.

    Details of previous chats can be found here on the wiki.

    The next Architecture chat is this Thursday, all are welcome.

    posted @ Monday, July 07, 2008 7:03:58 PM (New Zealand Standard Time, UTC+12:00)    Comments [0] | |
    # Wednesday, June 25, 2008
    Architecture Chat Tomorrow... Some possible things to talk about:

    Subversion 1.5 - and it's new merge tracking features.

    WCF/WF Features in .Net Framework 3.5 SP1 - a blog post caught my eye with things I hadn't noticed before mostly around DataContract Serialization i.e. ability to serialize graphs (not just trees), an attribute-free mode for the serializer and a suite of strongly typed classes to make implementing AtomPub easier (i.e. Workspaces etc.).

    P/Invoke Interop Assistant - handy little tool, about 5 years too late for me :)

    Umbrella Project - Interesting project, take a look at Ayendes involved post for an overview.  The ExtensionPoint<T> approach for making extensions more discoverable is interesting - something we discussed right back when the first beta's of VS2008 were on the horizon.

    I'd personally also like to talk about some thoughts people have on the bare minimums for a usable language and domain specific languages in particular - i.e. debugging, native support for comments etc. and some experiences with a rather hostile Model driven architecture transformation language I've had to deal with over the last couple of weeks :)

    As usual, if anyone has any topics - feel free to leave a comment, send me an email etc.

    Notes from previous meetings and directions etc. can be found here on my wiki - anybody is welcome to come along.

    posted @ Wednesday, June 25, 2008 8:34:56 AM (New Zealand Standard Time, UTC+12:00)    Comments [2] | |
    # Sunday, June 15, 2008
    5 people turned up This week.

    Peter kicked off the discussion with a review of the Agricultural Field days in a disheartening lack of anything IT there, this sparked an interesting discussion around
    what's holding back adoption of technologies such as RFID's for animal identification and some possible inhibiting factors, like the cost to early adoptors, education etc.

    After this we returned to more mundane things... first off we Discussed Velocity a bit, comparing it to memcached and some of the interesting features like tagging and the current lack of push functionality in the CTP.

    Silverlight 2 beta 2 was next... talked about the new visual state manager and designer integration into Expression Blend.  I noticed after the chat that Ivan has posted an interesting discussion around why he believes the Visual State Manager isn't a great idea - during the chat we did puzzle a little over why silverlight is diverging from WPF, and just how cross-polination between WPF and Siliverlight will occur.

    Other things that interested us about the silverlight 2 beta 2 release were Inking & Stylus support (and incidentally second-hand tablet PC's are becoming dirt cheap, so no excuse not to have one lying on your desk!).

    Multi-tile source, which could prove interesting for providing information generated on the fly or integrated with existing GIS sources etc.

    Cross-domain support, background thread support for networking and duplex WCF communications - I could see this providing interesting possibilities, i.e. a silverlight control that makes the web client a temporary member of a grid network, perhaps distributed virally as a facebook app.  Not to mention the more mundane business applications.

    After talking silverlight for a while Jamie then mentioned the OAuth library I'd written - so I went through what OAuth is/does vs. OpenID (there seems a bit of confusion in some peoples minds of what each of these projects aims to achieve) and then what's been implemented, and what is yet to come - for more info on the OAuth library check out this wiki page.

    A rambling discussion sparked off by Peter mentioning IBM having broken the "petaflop barrier" and the gradual approach towards a platform for an accurate simulation of the human brain, I made some references to "I am a strange loop" and everyone talked about the general difficulties with artificial inteligence and the current predictions regarding when computers will have enough horsepower to emulate brain function.

    Thanks all for coming - see you all in a couple of weeks (Thursday 26th June).

    posted @ Sunday, June 15, 2008 3:40:15 PM (New Zealand Standard Time, UTC+12:00)    Comments [0] | |
    # Wednesday, June 11, 2008
    There is an Architecture chat tomorrow, 12th June, 11:30am at Garrisons, Sylvia Park.

    Some thoughts of possible discussions:
    I'm also interested in picking peoples brains around Use cases vs User stories and mapping them to test cases etc.

    Look forward to seeing you all there.
    posted @ Wednesday, June 11, 2008 4:38:31 PM (New Zealand Standard Time, UTC+12:00)    Comments [3] | |
    # Thursday, May 29, 2008
    Architecture Chat was today... discussions included:
    • ADO.Net Data Services shortcomings (no COUNT for starters... ).
    • Entity Framework usability & the extensibility model (or lack thereof) etc.
    • Template Engines / Domain specific languages and debug integration.
    • The EyeFI Explore SD Card that packs both Wireless and GPS + 2GB storage into a single package.
    • Sql Server Compressed Tables & Indexes.
    • Thoughts around having pile-like columns in a database, and avoiding column-level information redundancy (compressed column).
    • StringBuilder performance.
    • Practical uses for BigTable (and Amazon SimpleDB etc.).
    • A lot of developers don't use or even know of the yield operator in C#.
    Thanks all for coming and see you in a couple of weeks.

    posted @ Thursday, May 29, 2008 2:21:27 PM (New Zealand Standard Time, UTC+12:00)    Comments [3] | |
    # Wednesday, May 28, 2008
    Morning All.

    I'm presenting on "REST with .Net" tonight at the Ellerslie .Net User Group.

    More details can be found on the Ellerslie user group site.

    I'll be (attempting) to cover:
    I have a touch of the flu - so we might not make it through everything before I loose my voice :) but we'll give it a go... and I'm hoping to keep the REST & WCF section short - seeing as we had Ron Jacobs covering that last Friday at the Auckland connected systems user group.

    And tomorrow we have the Architecture Chat at 11:30, the last chat was very quiet (just 3 of us, so I didn't bother writing it up) - hopefully this week will be a little more lively - if anyone has any topic suggestions then just send me an email or comment on this post...

    See you all there!

    posted @ Wednesday, May 28, 2008 8:15:58 AM (New Zealand Standard Time, UTC+12:00)    Comments [2] | |
    # Monday, May 05, 2008
    Small'ish turn out last Thursday.. but interesting discussions, including:

    Hiring graduates - and what's more important, raw intellectual horse power or some demonstration of existing skills, the value of a bachelors vs. masters/honors degree... And how you can determine a candidates passion, and desperate lack of talent out there at the moment.

    Discussed Database migrations - and different strategies for migrating (both data-centric and object-centric) and the missing database-agnostic "ETL" requirement for transforming data during a migration...

    Database structure problems were discussed, i.e. legacy databases, and the problems they can present when attempting to work/map/scale them.

    2D Barcodes also got a mention (i.e. QR Code) - including the Microsoft research project into high capacity color barcodes.

    The impedance mis-match between Amazon's SimpleDB and SQL Server, and how you can implement SimpleDB constructs in a SQL Database for testing etc.

    Steganography got a bit of a mention - i.e. encrypting hidden messages into images, and how transformation/cropping tolerant you can make these processes.

    I mentioned the LinqBridge project - which gives you access to Linq for objects in .Net Framework 2.0 projects.  Great for those of us on projects which can't shift to 3.5 just yet for one reason or another.

    FYI - Beware Resharper 4.0 EAP's though, they have a tendency to get confused by 2.0 Projects with Extension methods, turning your Linq statements in a nested set of Enumerable.Where(... etc. calls.

    Keith mentioned Pourable computing - which is not something I'd come across before (you can find it briefly discussed in this TED talk by Neil Gershenfeld - part of the CBA @ MIT)

    We also talked about LiveMesh - including the flaw in Vista (pre SP1) which prevented you from installing the LiveMesh software without UAC enabled... and Peter raised the question "why aren't you using UAC" ... annoying messages was the response - at which point he suggested we just disable them in the registry by setting HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\ConsentPromptBehaviorAdmin to 0.

    And then a recurring topic around source control, file versioning (i.e. never overwriting a file) and how office-wide mesh computing could help.

    Thanks all for coming - see you all on the 15th of May.
    posted @ Monday, May 05, 2008 10:42:52 AM (New Zealand Standard Time, UTC+12:00)    Comments [0] | |
    # Wednesday, April 30, 2008
    Architecture chat tomorrow, 1st May, 11:30am at Garrisons, Syliva Park.

    Last week was a nice general discussion, I wouldn't mind doing something similar again - so I'm pretty topic light at the moment... other then a few general observations from the community.

    If you have any other topic suggestions just leave a comment on this post.

    See you all tomorrow!
    posted @ Wednesday, April 30, 2008 9:26:50 AM (New Zealand Standard Time, UTC+12:00)    Comments [2] | |
    # Wednesday, April 23, 2008
    Good turn-out for the Architecture chat last week... thanks for coming along all (I believe there was 8 of us)

    What we talked about:

    Jabber / XMPP got a brief mention – as I’m currently investigating it for some side-projects as a scalable way to interact with a cloud of servers/devices... but nobody else had much interest/experience so we moved on.

    Silverlight 2.0 beta ‘s - talked briefly about beta 1 and upcoming beta 2 - including Deep Zoom and the NBC Olympics silverlight player which looks to deliver a better experience then TV ever could.

    We also had an in-depth discussion around the woes of working with/without app-domains and loading and unloading assemblies from either disk or byte arrays into the current app domain, security implications etc.

    Bunch of points were made, and it was a pretty interesting discussion:
    • Briefly discussed Cecil – The swiss army knife of IL :)
    • PostSharp – which provides an interesting tool set for implementing AOP and other concepts (such as software transactional memory).
    • Garbage collection of types.
    • .Net Framework 3.5 add-in system (System.AddIn & System.AddIn.Contract) - we also posed the question, can it run without the 3.5 framework installed – a quick reverse engineer and compile via .Net reflector in VS2005 suggests that yes, yes it can work quite well without the rest of the the 3.5 libraries.
    • Altering IL at run-time, and the ruby-like concepts of a class is “never done” down to the concept of being able to break apart a routine at runtime and alter the IL, and where JIT’ing fits into the life cycle of IL and Execution.
    Automatic unit test generation got a mention – I had a total mind blank and couldn’t remember the name of the product (which we have discussed in the past) – which of course was pex... Sadly still no public beta for us to try yet!

    Amazon web services – we discussed the dev pay limited beta (takes the pain out of dealing with customers/billing when developing apps for EC2/S3) – this included discussing the development of applications for the “cloud” and what opportunities exist when leveraging the Amazon services, including the recently added support for persistent local disks to the EC2 platform.

    Also in relation to EC2 we discussed writing apps for EC2 using C#/Mono - this led to a discussion on the state of Mono, i.e. where it's .Net 3.5 support is at and if/when WPF might be ported to Mono.

    Thanks for all coming along, the next meeting is slated to be next Thursday, May 1st.
    posted @ Wednesday, April 23, 2008 3:55:46 PM (New Zealand Standard Time, UTC+12:00)    Comments [3] | |
    # Monday, April 14, 2008
    SylviaParkArchitectureChat.JPG

    Hi All, I'm back from my honeymoon... and so that means it's time to resume the Sylvia Park Architecture Chat.

    Next one is scheduled for this Thursday, 17th April 2008 at 11:30am at Garrisons.

    No set topics this week - just an open floor / general catch up - though if anyone has any ideas just leave a comment on this post or send me an email.

    Look forward to seeing you all there!

    posted @ Monday, April 14, 2008 10:00:56 AM (New Zealand Standard Time, UTC+12:00)    Comments [2] | |
    # Thursday, February 07, 2008
    Hi all...  So first off, there's no Architecture Chat today - I'm tied up with prior commitments (due to the short week) so it's going to be held Thursday next week -14th of February, appologies to anyone who was going to attend.

    As far as possible topics, what about:
    • All the interesting stuff that came out of Lang.Net (or at least was brought to my attention by that symposium)
    • Cosmos - a cute operating system written in C#.
    • Charlie Calvert's started posting on the future of C# (4.0).
    • Jumbala - another interesting step down the MDA road, this time as an action language for UML state machines... which can actually be compiled.
    • .Net Mass Downloader - here's something I was thinking of doing myself, a mass download for all the .Net Framework source code.
    • Resharper 4 EAP delayed.
    • Lightspeed 1.2 released.
    • The rise of WPF vs WinFroms.
    • The Auckland dev community are slackers compared to Tauranga.
    • Vista SP1 and Windows 2008 RTM.
    No doubt there will be plenty more.

    See everyone next week!

    posted @ Thursday, February 07, 2008 7:39:37 AM (New Zealand Daylight Time, UTC+13:00)    Comments [2] | |
    # Monday, February 04, 2008


    So the sun has set on day 1 of the Summer Road Trip 2008 in Auckland - The Presentation was done by JB, Chris and Myself this afternoon - it went very well, people enjoyed the content and the mix of integration, server management, database and development topics really meshed together nicely I thought... 

    There was enough to keep everyone interested, regardless of the hat you wear - and plenty of prizes too - well all love swag right?!

    Big thanks to our MC Jaqcui, who handled the Intro and Outro and let everyone know about the local Ellerslie & Central Auckland user group's - where I'll be sure to run a few sessions later in the year... and of course Darryl for handling some of the finer details like the venue, lunch, and the dinner afterwards - much appreciated.

    For all those that came along - first off thanks for coming, obviously without participation in these events they'll just dry up and stop happening - and second don't forgot that there is no time like the present to start picking up these technologies and developing applications with and for them - the products are all but ready, so why can't you be (and not only are they great technologies, they're fun too).

    The next presentation is in Tauranga - and there are still places left, so sign up here - It's going to be on tomorrow (5th of Feb) at 1:00pm I believe.

    And finally a short plug ;o)

    SylviaParkArchitectureChat.JPG

    For anyone that found this presentation interesting and would like to discuss the technical details of things like emerging technologies, general software Architecture, Developer Tools, Running software businesses etc.  I also organise the local Sylvia Park Architecture Chat - which is a pretty casual meeting of some very smart people in the .Net Community. 

    We normally get together on a fortnightly basis at Garrisons in Sylvia Park and are always keen to have more people/fresh faces to come along and join in our discussions or even just float some development/architecture questions or problems you might have that the group can help solve - keep an eye on my blog, or the dot.net.nz mailing list for announcements of when we'll next be meeting up :)

    And all are welcome of course!

    posted @ Monday, February 04, 2008 9:24:40 PM (New Zealand Daylight Time, UTC+13:00)    Comments [0] | |
    # Wednesday, January 23, 2008
    The Sylvia Park Architecture Chat is to be held this Thursday, 11:30am at Garrisons in Sylvia Park.

    I think we are well and truly into the digestion phase after being flooded with so many product drops and previews over the last few months – announcements are low, but the amount of content about taking advantage of what’s finally in our hands is increasing... arguably this is far more interesting/rewarding then actually getting the tech drops in the first place.

    At any rate, things that have caught my eye this week (not much as you’ll see, I haven't had much opportunity to read blogs over the last few weeks):

    If anyone has any topic suggestions, either fire me a comment/email or just bring yourself along – all are welcome.

    posted @ Wednesday, January 23, 2008 10:43:41 AM (New Zealand Daylight Time, UTC+13:00)    Comments [0] | |
    # Tuesday, January 15, 2008
    Sorry about the late write-up, been a little busy!

    Small turn out, with 5 us in all, including new comer Jamie – a recent graduate from Auckland University, it was great to talk with someone just entering the industry proper and I think everyone else found it very interesting to hear about what's going on at Auckland Uni.

    So first off we discussed adventures with alternative licensing products – Gareth had a few war stories, and mentioned he’s returned to using .Net Reactor and got a refund on the previous product he tried out because it just wasn’t living up to expectations, and had some questionable weak points.

    We talked about the C5 Generic Collection Library – though none of us have attempted to use them in anger, a few people had heard about them recently because it seems to be doing the podcast/blog rounds, even though the project first debuted at the start of 2006, and was in development well before then.

    The classes were developed at the IT University in Copenhagen, and feature a large number of specialised collections, as well as introducing features to provide event handlers and sliding views, support for clearing collection ranges etc.

    There is a recent video on MSDN Channel 9, which is worth a watch as well.

    Because we didn’t have it in our hands last year before I wrapped up the Architecture Chat I discussed the ASP.Net Web Extensions CTP, mentioning the amount of community interest in MVC and that the Data Services (Astoria) is looking better and better.

    From there we talked about the MVC Contrib. project (and community) that’s sprung up after the ASP.Net MVC release, which is getting some New Zealander's attention around the world because of their contributions of both an XSLT View engine and NHaml View engine – the contrib project is also providing integration with the popular IoC containers in .Net and a number of other extensions.

    I talked about F# parsing, and my explorations of writing parsers in F#, especially after reading the series of posts from DevHawk (Harry Pierson), and experimenting with writing DSL’s in F# by hand.  I think my next "goal" is to master integrating F# libraries into my C# code, so I can commercialize on it and start weaving it into my day to day tool set.

    I’m not sure I articulated how elegant F# syntax can be - but hand writing custom parsers in F# with the aid of Active Patterns is much nicer then the equivalent in a language like C#, If you’re following the pragmatic programmer guidelines of learning a language a year, you could do much worse than to learn F# for 2008, it certainly gives the brain a good workout :)

    From their I mentioned PEX for use in automated white box testing – Jamie said he had worked on a 4th year project to do automated black box testing, and found it interesting that white box testing of this nature could be made viable/useful... PEX seems to have done it though.

    Though it’s not been made available to the general public as yet (only academia) – I suggest having a listen to this hanselminutes podcast, and then watching this screencast to get a better idea of just what PEX is doing/aiming to achieve...  I find the support for mocking particularly interesting, as I’m always sceptical of automated test generation, as it normally falls apart once you start to work objects when have numerous injected dependencies that are used by the class to do it's work.

    Last of all I mentioned TeamCity (JetBrains CI & Build server) Professional Edition is free, and I’ve been starting to play with it - and considering migrating over from my current CruiseControl.Net setup for new projects, I’m going to trial it on a small project and see if it’s worth moving to for what I do.

    Last of all – though I forgot to mention it at the time - I’ve also been looking at Jazz (or more so Rational Team Concert) lately, it certainly looks to resolve many of the headaches I suffer with managing concurrent versions of products, especially from the build server perspective – obviously anything with the name “Rational” is to be feared by the small or micro ISV because of prohibitive costs – but it’s nice to see just how they approach solving the problem, as shown in the video "fixing a bug in a previous release".

    Not a bad start to the year, hopefully we can make the next one bigger and better, and maybe get some more long-running architectural discussions going on ... maybe around Behavior Driven Development/Design or maybe Feature Driven Development and what makes it more suitable for fixed-price jobs.

    See you all next time!

    posted @ Tuesday, January 15, 2008 8:50:00 AM (New Zealand Daylight Time, UTC+13:00)    Comments [0] | |
    # Tuesday, January 08, 2008
    So, the Sylvia Park Architecture Chat is back for 2008 – To be held this Thursday, 11:30am at Garrisons in Sylvia Park.

    Some possible topics for discussion are listed below, though feel free to suggest additional topics either via a comment on this post or email - I haven't been keeping much of an eye on technology over the xmas break.

    • ASP.Net Web Extensions CTP Preview Was Released, including MVC, Dynamic Data Support (scaffolding *yawn*), Silverlight extensions & Data Services (Astoria).
    • MvcContrib project sparked off – adding NVelocity, NHaml (developed by Andrew Peters) and Xslt  (Developed by Ivan Porto Carrero) view engines to the ASP.Net MVC project as well as providing integration with a select number of IoC containers and other improvements to make the ASP.Net MVC CTP easier to work with i.e. convention over configuration.
    • The Castle Refactor – Monorail is getting an overhaul in the Castle Project, and they are in the process of moving to the NHibernate (2.0) Trunk as well.  Hopefully it will make my guide to running with the “trunks” largely obsolete.
    • Parallel FX CTP – We didn’t talk about this last time, might be worth giving it a look.
    • Practical F# Parsing – I mentioned a little bit about parsing with F# at the last Architecture, and this series I've been watching with interest as it's covered off implementing a PEG parser with F# -writing Parsers with F# is pretty slick compared to object oriented languages.
    • Internet Explorer 8 announcements.
    • Rod Drury – For anyone involved in a startup from day one I’m sure we can give these series of posts (1,2 & 3 of 6 so far) a definite head nod (or a long drawn out sigh for guidance arriving to late ;o)
    See you all there!

    posted @ Tuesday, January 08, 2008 8:59:12 AM (New Zealand Daylight Time, UTC+13:00)    Comments [0] | |
    # Thursday, December 06, 2007
    So plenty of subjects today, though a small’ish turn-out, kinda goes with the time of year, and is probably also related to the bar camp Agile down in Wellington tomorrow, which I know at least one of the regulars is heading to.

    Code protection and obfuscation was floated by Garreth – sparked off by his need to find a new code protection production, as the product he currently uses doesn’t appear to be under development any longer (.Net Reactor I believe was the product).

    In fact, it’s worse than that – he suspects that the Author may have had an accident or something similar, because the releases stopped a few months back and the Author is no longer replying to questions or queries on the forum, but prior to that was a very active individual - He can’t even be contacted by cell phone.  Incidentally if anyone reading this knows of the Author or his fate personally, we'd love to find out more.

    Right - so deploying key logic on web-services and some of the alternative licensing products having a requirement of a windows service being installed alongside the product got discussed, with the good and the bad points - it was interesting to see that most of us didn't mind having a windows service installed on our machine to license the product, as long as it was well behaved and made it abunduntly clear that this was being done by the product, and was named/described well (so you knew just what it was) - Garreth just wanted to confirm this with some fellow developers because he's looking into a range of products including PRO-Tector from Nalpeiron that uses this approach, and was worried he might get too much "kick back" from his target customers (i.e. other developers).

    From there we moved onto obfuscation products – we’ve talked about these before, including Dofuscator and SmartAssembly which came highly recommended from Andrew @ Mindscape.

    All of this rounded up with a discussion around “should you even bother obfuscating” and the rationale behind Microsoft obfuscating key portions of their technologies such as SharePoint or Dynamics CRM (i.e. not just protecting IP, but perhaps protecting volatile and undocumented behaviour which you might leverage or rely on which could be broken easily between service packs for even the same version of the product).

    Garreth also recommended Kagi that none of us had heard of – which is a great e-commerce solutions/services provider that goes above and beyond using alternatives like Paypal or local credit card merchants, key differentiating points he made were:

    •    It takes care of varying Tax legislation etc. so you don’t personally need to think about collecting VAT etc. - because they act as a "reseller' for your product.
    •    Supports non-electronic processing i.e. Cheques, purchase orders, direct debit etc.
    •    Entirely customizable UI, can be entirely gutted and made to look like your own site.
    •    It understands selling Software and digital content, and provides call backs so you can integrate custom license generation etc.  Within the payment site and provisioning workflow.

    It could be just the ticket if your thinking of selling some software and don’t want to completely roll your own solution.

    Next I ran quickly through the various product announcements etc. over the last 3 weeks - We pretty much bypassed everything and headed straight to Silverlight 2.0 and Volta (VS2008 is old news already, though the Isolated VS2008 Shell got a mention, however most were shocked at the size of the redistributable component – 315MB – that’s a big ask if you want to leverage it for a simple product/project).

    I was also hoping to get back to talking about the ParalellFX CTP which I’ve also been playing around with – but never got the opportunity.

    So Volta has featured in previous discussions – some of us didn’t even imagine it would see the light of day – yet we now have a preview in our hot little hands which can be played with – I took it for a test drive this morning, and miraculously it works!?

    With naught but an attribute I was happily able to move code between my client script and server... We discussed the implications of this, the intended audience (It looks very appealing to existing win forms developers who have resisted until now from engaging a web platform, because it feels very "familiar").

    I’m quite keen to take an existing windows forms application and see how easily I can move from thick client to web client/server using this approach i.e. just how much of the existing code base, event driven structure etc. can be maintained – even in its current state I think it could do a pretty good job of converting some winforms apps I've built in the past, short of re-implementing complex visual controls.

    Things I've still yet to try:
    • Unit testing with NUnit (can't see why it wouldn't work though)
    • Introducing additional tiers i.e. tier splitting between an application server, webservice and client script (not sure this works when using Visual Studio at the moment - the release notes suggest "no", so will probably require some spelunking and command line compilation at this stage.
    We talked about Silverlight 2.0, its release date (probably near the end of Q1 2008) - and just what ships and what doesn’t i.e. is there a compiler and does it live on the server, extensible control model, 2-way data binding etc.  Certainly Silverlight 2.0 is looking very comprehensive, and the Silverlight team look to have been/are very busy (I wonder how on track the Moonlight team are, considering the surface area of things to develop has grown somewhat from the original 1.1 scope).

    Next we talked about DSL’s ... what makes a DSL... the stages of DSL’ness from the “barely there” Fluent interface, through to varying grades of internal DSL and finally a custom language which requires parsing into a syntax tree (which F# is great for I think) and being consumed by your application, or a Visually depicted DSL, ah-la Microsofts DSL SDK for VS.Net.

    In the same conversation we also talked about operator overloading, making things explicit, avoiding operators all together (i.e.  “A == B” is far less meaningful in relation to a domain specific language then "A.Equals(B)" or even better “A equals B” – i.e. being terse may prevent your DSL from being explicit enough to be read by the people who best understand the domain language and the concepts it's modeling to begin with. 

    We also talked about the things which make a internal DSL work well with languages like Boo i.e. the ability to drop braces, and whitespace awareness (which I hated, but I’m gravitating back towards liking it once more in the right context, because a couple of spaces is a lot nicer to read then opening/closing braces and associated visual noise - and it’s easier to show the raw code to clients when discussing problems because it’s less confusing).

    Along the same line we talked about operator overloading conventions and on a side note Peter gave Algol a mention for having such wonderful (!) set of operators and needing a special keyboard or a memory for keystroke combos ;o)

    ¬, ?, ?, ?, ?, ×, ÷, ÷×, ÷*, %×, ?, ×:=, ÷:=, ÷×:=, ÷*:=,  %×:=, ~ ?, ?,÷::=,:?:, :,::, ::=...

    He also mentioned Postscript, though I don’t know much about its operators etc. and didn’t really feel like digging up some samples from the red book.  Incidentally F# lets you define new operators:

    let ( <:-> ) a b = string.Format("{0} is happy about {1}", a, b)

    let ( <%=> ) a b = string.Format("{0} is confused by {1}", a, b)

     

    let m = "mort" <:-> "user defined operators"

    let n = "but mort" <%=> "his own code"

     

    let result = Console.WriteLine("{0}, {1}", m, n)


    Which of course displays:

    mort is happy about user defined operators, but mort is confused by his own code.

    From there we branched into discussing multi-language projects – i.e. why do we need to have separate languages in separate assemblies... a lot of us fondly remember the old days of in-line assembler, and would like opportunities to use a language like F#, Boo or one of the DLR based languages in-line within a C# or VB.Net project – i.e. within the bounds of a function/method... I see F# pattern matching as a great example of where this would be really handy – same goes for embedding your own DSL’s in-line, or even leveraging a few lines of concise ruby code to do some string manipulation.

    I suggested a compiler model much like Boo’s would work well in allowing this to happen – though there are issues with just how you compile it, approach merging the separate chunks of IL etc. and cross-referencing.

    PDF file parsing got discussed - there is a binary and text based standard (which is largely human readable) – Peter suggested that ABC PDF is very good at pulling apart PDF documents for information extraction in the Enterprise edition, and also supports CMYK colour, useful if you’re working with professional printers.  Because there isn't much metadata stored in many cases, you often have to rely on specific style information to identify key bits of content.

    We then had a talk about model driven architecture, and in particular, integrating UML models, code and business related information such as device and install inventories, and product life cycle information - we're finally starting to see some traction in New Zealand in this space, and it's ushering in the rise of the true "Enterprise Architect", with people becoming more aware of frameworks for Enterprise Architecture such as Zachman, TOGAF etc. and realizing the true value of driving from an ultimate and largely strategic high-level organizational model of past, present and future systems (including when certain systems are going to be retired), all the way down to individual applications, business processes, use cases, test scripts/runs, classes, unit tests, machine inventories and even live application data that can be used to be make decisions... even as a develop this has real value, i.e. integrating with a system you could identify how many systems integrate with it, when it's due to retired/replaced/upgraded, maybe how many transactions it's processing, or how often it refreshes itself with key business data from other parts of the organization.   I saw a nice example of this just last week at the EA Symposium presented by IAG.

    It's definitely a subject I'd like to visit again in the future, and perhaps we can get one of the NZ experts in this field to come and participate such as Lukas Svodba (who also runs the arcast.co.nz site) - this also ties in with MDA and MDG, The later of which I'm still having difficulty reconciling with a largely agile test driven development process.

    Also on that note I mentioned the JetBrains meta programming system and wondered if it will ever reach a v1 status, I had high hopes for it a couple of years ago.  It doesn’t seem to have had much activity associated with it over the last couple of years (I almost wonder if it was largely an Idea which was well before it’s time for a lot of the .Net community, that are only now starting to appreciate DSL’s and considering working/developing at a higher level of abstraction – or lower level if you look at it from the perspective of the problem your trying to solve i.e. closer the metal of the problem domain itself).

    We pretty much wrapped it up there, so that’s year 1 of the Architecture Chats brought to a close (we decided against one more for this year, because of the holidays and not to mention our venue being overrun with rampant shoppers, probably removing any chance of finding a park or hearing ourselves think!)

    Big thanks to Alex James (Meta me) for getting this chat off the ground, and thanks to all the regulars who come along every fortnight – you’ve all helped to make the Architecture chat one of the most successful and interesting recurring events I’ve had the pleasure of attending/participating in – and it’s been great to have been able to swap ideas and information over the last year.

    Have a merry Xmas and a happy new year one and all!

    posted @ Thursday, December 06, 2007 3:14:25 PM (New Zealand Daylight Time, UTC+13:00)    Comments [0] | |
    # Wednesday, December 05, 2007
    Well this blog, the wiki and all the other associated services disappeared for most of today... thanks to the magic of NoAuth ... for no reason that anyone could explain to me beyond "it sometimes happens" - Orcon lost Authority over my business DSL connection, and it reverted back to Telecom/Xtra (New Zealands "legacy" telco)... and it took must of today for them to get the authority changed back, I don't think this was any fault of Orcons, but it still pissed me off no end.

    So appologies to anyone wondering where my blog went, or any of the related services - I do have plans to migrate the blog to US servers in the not to distant future.  And big appologies to all the Architecture chat participants, sorry I couldn't get a reminder email out sooner.

    On a different note - It did identify a need for me to maintain a secondary connection, with a static IP, that I can fall back to if required... thankfully the three concurrent projects that have been in UAT over the last couple of weeks have all wound down now - so it didn't have as much impact as it could of.

    Though at least they wouldn't have been able to log bugs about servers being unavailable, Trac would've been unavailable too ;o)

    ... so any suggestions as to what would make an adequate fall back technology (something other then DSL, I've used wired country two-way-radio to the sky tower in the past which has worked well, but it doesn't give much "bang" for buck and has a high up-front cost last time I checked) ... I'm not too worried about 1 day downtime, but if this had been 3 or 4 days it would've been quite damaging for me, customers and those intangibles like reputation.


    At any rate - thanks for the patience, and I'll see some of you at the Architecture Chat tomorrow.

    Cheers,

     - Alex
    posted @ Wednesday, December 05, 2007 11:34:04 PM (New Zealand Daylight Time, UTC+13:00)    Comments [1] | |

    That's right, it's time for another Architecture chat Tomorrow

    So as I mentioned last week - The Architecture chat is being held this thursday, 11:30am at Sylvia Park in Auckland (at Garrisons), all are welcome and encouraged to come along and share your views.

    Some topics / announcements that have taken my eye over the last 3 weeks which might make good discussion fodder:

    And some conversational topics related to what I've been working on lately...

    • Agile model driven development and just how can you combine model driven architecture (MDA) with test driven development and code-level refactoring.
    • Writing parsers using F#, leveraging pattern matching & Active Patterns – and integrating with other languages like C#.
    • Visual DSL’s – the good and the bad, and at what point does it become justifiable to roll your own for specific business needs?
    If anyone has any topic suggestions either leave a comment or email/IM me (IM details are on the left, in the "Who am I?" section).

    See you all tomorrow!

    Edit: and as a late edition, I've also had a play/look into the very recently released Volta if anyone is interested - if you've got the time before xmas, I'd definitely suggest doing their quick start tutorial - interesting.

    posted @ Wednesday, December 05, 2007 9:14:16 AM (New Zealand Daylight Time, UTC+13:00)    Comments [0] | |
    # Tuesday, November 27, 2007
    Just a quick note that the Architecture chat that was scheduled for this thursday is going to be postponed until Next Thursday (December 6th) because I'm unavailable this week.

    I'll post about it and email the dot.net.nz user group (for you non-subscribing philistines :) next week to remind you all.

    See you all next week!

    posted @ Tuesday, November 27, 2007 10:15:32 PM (New Zealand Daylight Time, UTC+13:00)    Comments [0] | |
    # Thursday, November 22, 2007
    I'm not going to be around Thursday next week to host the architecture chat...

    There are a couple of options:
    • The show goes on as usual, and someone else can flick me a brief summary.
    • We reschedule for another day (Wednesday or Friday)
    • Have it the following Thursday (December 6)
    Let me know what everyones preferences are...

    Chez,

     - Alex

    posted @ Thursday, November 22, 2007 8:03:28 AM (New Zealand Daylight Time, UTC+13:00)    Comments [0] | |
    # Sunday, November 18, 2007

    A good turnout this week, with I believe 8 or so attendee's, and some great discussions.

    So let's get into it...

    First off while everyone was arriving Keith talked about his recent experiences with F#, including the implementation of the classic TDD "bowling game" exercise - which he's been blogging about lately, I myself have bitten by the F# bug and have been grappling with getting my head around the concepts in the language this weekend - it's a lot of fun, especially pattern matching and pulling apart the type system - but I've got a few more "ah hah" moments to go through before I've grokked it I think... Considering this language is going to be mainstreamed into the VisualStudio.Net product, and it's suitability for building parsers (among other things) I definitely think this is a skill worth adding to the toolbox.

    From F# Keith then talked about his tangent into non-Von Neumann programming languages, and in particular Function-level programming, which works at a higher level then functional languages, suited to working with array-level information i.e. matrices - allowing for variable-free development (Tacit programming) it lets you do some pretty amazing things.

    The function-level language that Keith took a look at was "J" (an APL-like language) which is cryptic - just like APL (at least to the uninitiated) but incredibly powerful i.e. a tacit implementation of the quicksort algorithm looks like this:

    quicksort=: (($:@(<#[) , (=#[) , $:@(>#[)) ({~ ?@#)) ^: (1<#)

    Yes, no variables, and one line of code! Compared to the C# equivalent which is normally 12 to 20 lines long, depending on braces etc.

    Keith highlighted some good points - in that it actually becomes very readable once you understand how the language is put together, and it certainly shouldn't be discounted before your attempted to understand just what it is your discounting - I guess the message here is don't be a blub programmer.

    I actually wonder wether working at this higher level actually makes the barrier of understanding what's going on lower in many cases - for instance, no variables = no mental state you have to keep in your head as you look at the code... I suspect long-term it would probably take less time to understand what this one line of code is doing, then reading through 20 to 30 lines of C# code, with variables, recursions/loops state and scope - especially with a set of unit tests to back it up, providing the specification and aiding in understanding what's expected/happening in your snippet of J code.

    And of course, function-level programming is well suited to parallelization and optimization, more so then value-level or functional languages - a popular topic among the group.

    After that a little discussion was had around SSIS, ETL tools etc. - largely caused by a protagonist (who shall remain nameless ;o) stirring up some trouble in the dot.net.nz Sql mailing list this week - the net effect is that there are largely disparate views between many of the senior DBA/Dev community at the coal face vs. Microsoft, marketing etc. To quote the message:

     "SSIS is a dog, great for BA's, but otherwise is always seems to fall short!".

    Everyone basically agreed with this statement - SSIS just doesn't provide a good experience for developers and admins, take a look at Ayende's list on his wiki if you want a bit of a (depressing) laugh at the common pain points for developers.

    As much as Microsoft employees reiterate that SSIS "is not a dog" - the reality is drawing pretty pictures with a sub-par UI is not productive for a developer, and the end results are notoriously brittle and hard to collaborate with other developers on.

    On the flip side, we discussed alternatives i.e. cutting your own code, windows services, emerging tools like Rhino ETL - which a few of us like, but just can't justify dropping into a clients infrastructure at this point because it's a bit of a unknown quantity and quite immature - a bitter pill for a Microsoft-only organisation to swallow, because it's not necessarily mort-friendly at this stage.

    After that we had the discussion about the IKVM.Net, boojay and grasshopper java <-> .net technologies - there still doesn't seem to be a silver bullet here for solving the problems of developing in .Net with the BCL etc. and then having it just "work" in the JVM on a Linux virtual machine, suitable for dropping into say the Amazon elastic cloud (EC2) - the more reasonable approach seems to be developing in java and then targeting either .Net or the native JVM, or developing in vanilla C, on a side note  I spent some time evangelizing about the boo language, and more importantly it's great extensible parser/compiler experience which makes it so very easy to write template engines and DSL's with it.  I'm still not 100% sure why mono doesn't work well in this case, but by experience a few have had a lot of trouble getting it work properly.

    A short warning and Rant was had about Flash 8 (Action Script 2) by Peter - believe it or not, it doesn't have native support for 64 bit integers ... I haven't got time to verify it, but I'm assuming it's probably because it represents all numbers as double-precision floating point values. Grim tidings!

    Following that we had a discussion around Framework development - this is a topic that's cropped up a number of times, so I won’t go too heavily into it... but basically it focused around a few discussion points:

    • Building applications with re-use in mind, and in fact building frameworks/factories for producing the application i.e. spend 80% or more of your time building the framework, and 20% of your time implementing the project with the framework, with the view of reusing/re-purposing the framework "next time".
    • It was argued that building frameworks is often YAGNI.
    • Why are parts of software you’re developing not naturally reusable?
      • Largely because development practices aren't focusing on composability and enforcing the principle of single responsibility.
      • Test driven design encourages Composability.
      • Without an IoC container it may be a little challenging at times.
    • Frameworks often require additional skills to maintain.
      • Is there a risk in letting Junior/Intermediate resource make changes?
      • Does the difficulty in finding/retaining senior resource make frameworks risky?

    Lastly, we touched on other subjects - but my memory is a little hazy on the details:

    • The challenges in Porting data binding from WinForms to WPF when upgrading an application.
    • Brief thoughts on the features in Lightspeed 1.1, I like the aggregate-level validation support - something I forgot to mention was that the source code is available with the enterprise edition, which is great news - and that Ivan Towlson has joined the Mindscape team, you can see his first blog post here.
    • The Xero revenue announcement - a lot of us have either worked / started startups in the past, or are in still in the process of "starting up" - so it hardly came as a surprise that progress is slow... I think Nic Wise had it about right in this post - this led onto a discussion about the nature of the banking market, competing products, white boxing etc.
    • The fact that expression web is pretty sweet, and that there is still a load of html-only work out there.
    At any rate, see everyone in 2 weeks time (29th of this month) - and thanks all for coming along, it's encouraging to see the numbers climbing back up after the Alex James exodus (btw, he has an msdn blog now, for anyone who missed the announcement).

     

    posted @ Sunday, November 18, 2007 2:51:47 PM (New Zealand Daylight Time, UTC+13:00)    Comments [0] | |
    # Wednesday, November 14, 2007
    Yep, that time again, the 20th Architecture chat will be held this thursday, 11:30am at the Sylvia Park in Auckland (at Garrisons), all are welcome to come along.

    Some topics (off the top of my head) this week include:
    • Java & .Net (didn't make it in last week)
      • The IKVM project (Java VM implemented in .Net)
    • ORM Love
      • NHibernate 2.0 features/maturation (and yes, it looks like the Castle trunk will be moving to it, hurray!)
      • Lightspeed 1.1 has been released.
      • Experiences of writing a Linq to query parser.
    • VS2008 very close
      • But ReSharper for C# 3.0 a while off.
      • Tempted by TeamSystem just to get the in-line "annotate" functionality.
    And if anyone else has suggestions, feel free to throw me a comment/email etc. - obviously a bit topic light at the moment.

    See you all Thursday!

    posted @ Wednesday, November 14, 2007 7:54:18 AM (New Zealand Daylight Time, UTC+13:00)    Comments [0] | |
    # Thursday, November 01, 2007

    Architecture Chat #19

    So another small turnout - Garreth, David, Murray (From Terabyte) and Myself. Peter gave his apologies, being out of town today.

    First off we had a talk around the various issues / challenges facing electronic payment, US dollar merchant accounts, PayPal etc. when selling your products on line. 

    Part of the discussion focused around the fact that there is no existing product/site out there that can help sell your software products (that has the right features), we're thinking:
    • Distributing licenses from a pool.
    • Calling back to a web service for generating licenses on the fly.
    • License activation over the Internet.
    • License expiration (for yearly licenses) and the required logic around that i.e. automatically adding license renewals to a users shopping cart, sending notifcations.
    • The list goes on...
    Even more so, building a community around selling add-ons, templates etc. for your product, and providing a model where micro payments can be collected i.e. buying credits and redeeming them on purchases etc. There are plenty of good ideas in this space.

    Last of all, the existing software retail sites need to take a smaller cut - a not uncommon amount is 10-20% of the product cost... that's just crazy, especially for high-cost products, thats no different to giving them a 20% share in your business - you don't need to ship many products before you could've just built your own using PayPal.

    Following that we had a long conversation around Garreth's ArchAngel product again, and in particular around the challenges of templates, round-tripping code, interesting usage scenarios i.e. (generating a model, the UI to bind to that model and WatiN classes which make it easy to write tests for the UI) - and also around preferences i.e. strengths and weaknesses of using a statically typed language (C#) embedded in the templates vs. something like IronPython or Boo, and how you can flow compilation errors (line numbers etc.) from the compiler back to the template - something I have trouble with when diagnosing Binsor, brail and my own boo based template engines at the moment, mostly because I haven't invested the time to make the experience better.

    At that point we had a discussion around the various CMS's - I've been doing some research to pick one for a few sites I want to port from "other" CMS's.... The three I picked on for .Net were:
    i.e. some of the open source ones... I would've liked to have included rainbow cms as well, but I just haven't had the time to review it yet.

    Everyone knows about DNN (in fact we complain about it quite regularly ;o) - so it was really put up as a base line for comparing the others... mojoPortal is a bit like DNN, however it supports a wider range of databases - can run on mono and has a few unique/interesting features.  It lacks the same level of community involvement as say DNN or Umbraco, but it does give you the opportunity to avoid shelling out for OS licenses... Alas it uses web parts, and though xhtml compliant it lacks the rendering flexibility of Umbraco - Also the data model is pretty scary... a single class for all core data access, using stored procedures.

    Umbraco looks good - has a reasonable template engine, and is a little more content-flexible then the other products which are based on web-parts - Sql server only and the business entities have in-line sql (why haven't any of them been built using a bloody ORM!) - this kind of thing scares the hell out of me - round trip per-property?? why!

    public int MasterTemplate

    {

        get{return _mastertemplate;}

        set{

            _mastertemplate = value;

            SqlHelper.ExecuteNonQuery(_ConnString,CommandType.Text,"Update cmsTemplate set master = " + value + " where NodeId = " + this.Id);

        }

    }

     

    public string Design {

        get {return _design;}

        set {

            _design = value;

            SqlHelper.ExecuteNonQuery(_ConnString,CommandType.Text,"Update cmsTemplate set design = '" + value.Replace("'","''") + "' where NodeId = " + this.Id);

        }

    }


    Or better still, how about this web control's OnInit method:

    protected override void OnInit(EventArgs e)

    {

        base.OnInit (e);

        SqlDataReader dropdownData = SqlHelper.ExecuteReader(umbraco.GlobalSettings.DbDSN,

            CommandType.Text, "select id, text from umbracoNode where nodeObjectType = '39EB0F98-B348-42A1-8662-E7EB18487560' order by text");

        base.DataValueField = "id";

        base.DataTextField = "text";

        base.DataSource = dropdownData;

        base.DataBind();

        base.Items.Insert(0, new ListItem(ui.Text("choose") + "...",""));

     

        // Iterate on the control items and mark fields by match them with the Text property!

        foreach(ListItem li in base.Items)

        {

            if ((","+Text+",").IndexOf(","+li.Value.ToString()+",") > -1)

                li.Selected = true;

        }

        dropdownData.Close();

    }


    The biggest down-side to me however is not the glorious SQL sprinkled everywhere - but the XSLT... I just flat out hate working with XSLT... and nobody at the table seemed to have anything good to say about it either.  It's certainly powerful, but it's just no fun to work with (XSLT that is, not Umbraco).

    Still none of these are necessarily reasons to throw the baby out with the bathwater, if it gets the job done (which Umbraco certainly seems to, based on community feedback) then why not use it - the only other thing that puzzles me is the complete absence of a test suite for a project, even an empty test project would be a good sign ;o)

    So on that note, Murray is embarking on a Umbraco project over the next couple of weeks - I'll check back with him when it's done and get a post-mortem on how it went, and what his thoughts are on the framework.

    On the flip-side... why hasn't a monorail/ActiveRecord based CMS been released yet (that's open-source) ... a few have been written (obviously for commercial projects), but the parties and companies involved never seem to have the initiative to allow their code to escape out into the wild... I can't help but wonder how much stronger Monorails position would be if a CMS had been developed and grown along-side the project, if nothing else I suspect we might have a seen a few more interesting view components developed and made available by now.

    Hardly new thoughts though - this has been discussed a few times on the Castle-project-users list, but nothing seems to come of it...

    We then had a brief talk about F# becoming a "first class" language for the .Net framework, that will be in VS2008... one of the questions was what F# offered, there is a lot, but things that I can recall.
    • Functional programming, in particular foundational features like lists, tuples (allowing multiple arguments /multiple returns), pattern matching etc.
    • Type inference (which we discussed, i.e. is code using inferred types harder to read/understand as things become more complex, a bit like using var in C# 3.0?)
    • All data is immutable by default (makes multi threading etc. easy - mutable data must be declared explicitly).
    • Linq integration, and some metaprogramming functionality.
    I'm pretty sure that list does the language a great injustice :)

    What is exciting is that unlike C# vs VB... in this case F# provides features which make it compelling for solving certain types of problem - and as a first-class language you don't miss out the debugging etc. experiences (and your guaranteed a language which isn't going to stall or be thrown away any time soon) - I doubt I would use it for an entire project, but I could certainly see writing specific libraries in it for consumption from C#/VB.Net applications.

    Last of all we discussed Recruiting (in a fairly light-hearted manor) - in particular graduates and the state of the industry with regards to finding good/brilliant graduate and intermediate developers who you can throw at interesting jobs that require a real passion and depth of understanding i.e. writing language parsers, building development frameworks etc.

    The jobs we would've liked to have had when starting out ourselves no doubt!

    In short it seems very hard to find really talented junior and intermediate developers to throw at highly technical work at the moment in the Auckland region (or contract resources for that matter)... And that salaries (which we've discussed are already too low in NZ for "distinguished" engineers) offered for many intermediate positions are too low to attract the right candidates, I still see some intermediate positions being offered for between $50 to $65K .. I had an $50K+ intemediate position 5 years ago!

    Some thoughts included:
    • Getting more involved with institutes before the students graduate i.e. offering 3rd year projects etc.
    • Giving up and outsourcing overseas using a service like rentacoder... or maybe looking to a company like Castle stronghold.
    • Luring people away from open source technologies like ruby/python/php with more money.
    Not great conclusions I'm afraid!

    I also had planned some discussion around Java & .Net (as mentioned in this post) which we didn't get too - we'll discuss those next time if anyones interested (sounds like something that might be of interest to Peter).

    And that's it for another Architecture Chat, thanks to all those who attended, and I'll see you in a couple of weeks time (Thursday 15th November).

    BTW - If you have any suggestions for topics next time, please feel free to pass them on, and maybe next time we can move the focus back to some broader architectural topics and get some debate going on :)

    Announcements

    Quick couple of announcements / reminders:
    1. The CodeCamp BootCamp 2007 is on this weekend in Christchurch (where you can watch Ivan put IronRuby through it's paces, among other things)
    2. André Meurer from Olympic software has organised another Ellerslie DNUG meeting next thursday, details are below:

    Microsoft PerformancePoint 2007

    Ellerslie, Auckland , Thursday 8 November 2007
    Gather at 5:45, starting at 6:00

    Presented by: Adam Cogan (Chief Architect at SSW, MVP)

    Microsoft Office PerformancePoint Server 2007 is an integrated performance management application designed to help improve operational and financial performance across all departments and all levels of your organization.

    With Office PerformancePoint Server 2007, you can monitor progress, analyse what is driving variances, and plan your business from budgeting to creating management reports. You can have metrics, key performance indicators (KPIs), and reports delivered to every desktop through intuitive scorecards, dashboards, and the easy-to-use 2007 Microsoft Office system environment. A key component of the Microsoft Business Intelligence (BI) offering, Office PerformancePoint Server 2007 can help you understand how performance can align with personal and departmental.

    http://www.microsoft.com/business/performancepoint/

    Click Here to Register


    Catering: Pizza & Drinks
    Door Charge: Free!
    Parking: Free, just park in Olympic Software’s car park

    Venue:

    Olympic Software
    10 Cawley St
    Ellerslie
    Auckland

    Map of venue

    posted @ Thursday, November 01, 2007 1:28:37 PM (New Zealand Daylight Time, UTC+13:00)    Comments [7] | |
    # Tuesday, October 30, 2007
    Hi All!

    The next Architecture chat is on thursday this week, 11:30am at the Sylvia Park in Auckland (at Garrisons).

    As always, bring along your thoughts and discussions, and in the mean time here are some possible topics for discussion that have caught my eye over the last two weeks.
    • Java & .Net
      • The IKVM project (Java VM implemented in .Net)
    • Accropolis changes
      • No new previews
      • P&P will provide WPF Composite Client guidance (uh oh)
    • Open source CMS's
    • F# - becoming a first class language in VS.Net
    • PLinq, now GridLinq.
    • Recruiting .Net developers how to/approaches.
    And if anyone else has suggestions, feel free to throw me a comment/email etc. and hopefully we can get a few more of the regulars back this week.

    See you all thursday!

    posted @ Tuesday, October 30, 2007 10:34:41 PM (New Zealand Daylight Time, UTC+13:00)    Comments [5] | |
    # Sunday, October 28, 2007
    So, another small turnout last week – but good discussions none the less, with 4 of us in total (Peter, David, Gareth and Myself).

    First off we had a talk about ArchAngel, the product that Gareth has architected/written, and what it solves, and around the upcoming release of the new site, as the product moves out of beta – a lot of us have given him grief over the existing DNN site, and it should be good to see it get a face lift ;o) - Following that we talked a little about the challenges of round tripping code, and the problems with a lot of the current MDA/MDG implementations, and how ArchAngel can resolve a lot of pain associated with other code generation approaches due to the holistic approach.  It’s a very exciting product and hopefully at some point a screen cast or two will be made to demonstrate the various features / advantages of the product (hint hint).

    I again voiced my frustrations with SharePoint – or "swearpoint" as David coined it, I think much of my problem has been around lack of good documentation, and finding the right combination of tools for doing the job i.e. not using VseWSS projects but instead using WSPBuilder, and getting to grips with the various nuances of deployment packages and the SharePoint 12 etc. folder structure – not the mention the diabolical and misleading exceptions you get at some points – I still haven’t found a good approach of TDD’ing that works across event receivers, web parts, controls etc. that doesn't introduce a large ammount of uncessary complications and abstracts just to make the untestable testable – For the next SharePoint project (if I dare touch another one) I'll definitely take the time to develop a better TDD approach, and probably buy a tool like typemock to assist with it.

    I brought up the ASP.Net MVC framework – with the latest wave of information coming after the ALT.Net conference where Scott Guthrie did a presentation... and we discussed how it fits in with web forms, and where it leaves Monorail –based on current observations within the monorail community I believe many would consider moving across to the ASP.Net MVC platform based on what has been presented so far, though the approach and architecture is similar enough that there should be opportunities to easily shim view components etc. To work with both MVC frameworks.

    After that we had some rambling discussions about Accessibility (including web browsing for the blind, designing accessible forms, x-forms, tables vs. div’s for web forms and how nothing done for local/central government really conforms with their accessibility requirements, or is even tested for accessibility.

    Intertwined with that conversation was the rather slow adoption of WPF (I mentioned some of the points brought up in recent panel discussion that was on .Net Rocks!), WPF & Silverlight control suites and the power of filters and binding, also include in that discussion I briefly mentioned that I’d been working on building a web based workflow designer application using the OpenJacob library (the draw2d javascript library to precise) and Monorail with some success, but would like an off-the-shelf WPF or better yet Silver light toolkit to do the same job.

    Last of all we discussed Alex James’s proposed question around thoughts on POCO (plain old code/c# objects) and how important it was to us (in association with ORM's / Domain Driven Design, or at least thats what we talked about).

    The thoughts were basically:

    • Single inheritance makes non-POCO based Orm’s a pain to work with in some cases, i.e. there’s a loss of control, and accommodating some scenarios such as MarshalByRef become difficult/impossible.
    • Can often make it harder to enforce correct usage of your domain model, such as aggregates.
    • Depending on the ORM, non-POCO objects are harder to test with in a disconnected manor.
    On the flip side:

    • Incorporating concepts like current/previous value can be more natural.
    • Performance / ease of development for the ORM can be simplified when not accommodating POCO.
    • You generally need to rely on proxying and virtual methods to make POCO possible, this can introduce additional complexity and small performance hits both on startup and at run-time (not generally that noticeable).
    I also took the opportunity to once again mention PostSharp – which I’ve been using to prototype methods for removing a lot of the repetitive or ugly plumbing code that developers often have to write when developing non-POCO entities.

    Oh, and sorry about the late write up! .. Things have been a bit crazy lately and I’ve been hard pushed to find the time to post this till now, I’ll do better with the next chat and try and get that writen up in a more timely manor (a 1 to 2 day turn-around).

    Last of all – our next chat is Thursday this week - hopefully we can push our numbers back up to 6 or 8 and catch up with some of the other regulars who haven’t been able to make it over the last month and half - and as usual, if you have any topic suggestions, just drop me a comment/email etc. and I'll bring it up at the next chat.
    posted @ Sunday, October 28, 2007 5:38:21 PM (New Zealand Daylight Time, UTC+13:00)    Comments [0] | |
    # Wednesday, October 17, 2007
    SmallSpider.jpg

    Yes - it's that time again, with another Architecture chat tomorrow, 11:30am at the Sylvia Park in Auckland (at Garrisons).

    As always, bring along your thoughts and discussions, in the mean time I thought I would list some possible topics for discussion.
    • ASP.Net MVC.
    • ALT.Net.
    • AOP - Policy Injection / Dynamic Proxies / PostSharp etc.
    • Testing  & TDD combined with Products like SharePoint.
    • SharePoint deployment.
    • Source code available for .Net libraries available.
    See you all there tomorrow!

     - Alex

    posted @ Wednesday, October 17, 2007 3:20:12 PM (New Zealand Daylight Time, UTC+13:00)    Comments [2] | |
    # Thursday, October 11, 2007

    Sorry about the much belated write-up for the last Architecture Chat, been rushed off my feet of late, though a whole week's gone by now ... so the only real excuse could be that I've been a slack bastid.

    So, first off... terrible turn out, with only myself and an envoy from Intergen turning up – hopefully not a sign of things to come (small numbers that is, not the intergen guys ;o) and also hopefully not something to put off the Intergen guys from making the trip out this way again (though I suspect Kurt would do it just to get Mexican) - Not to mention Peter losing out on some vital opportunities to introduce Wiki-love to some new comers!

    So, as opposed to the usual mixed bag of discussions we focused largely on what tooling and practices Intergen Auckland use (and by comparison myself) – internally it sounds like they have a big drive towards

    • “All sorts of testing”
    • Continuous Integration / Build Servers

    So we covered continuous integration (CC.Net) ... make tools i.e. Nant, which has adoption within Intergen, and MSBuild which I use (mostly because I swapped over during the first beta of VS2005, prior to Nant having support for the Framework 2.0, and never moved back) – the key observation was that MSBuild just seems to have very unintuitive syntax – i.e. a Nant build scripts reads a lot more like plain English then a MSBuild equivalent.  I asked if anyone had tried TeamCity, which they had, but without much success (much like my own experience).

    Installers were next on the agenda – I’m a big supporter of WiX, though the feeling from some of the guys at Intergen (and I think many people out in the wild) is that getting a WiX installer off the ground was a cumbersome experience, but on the flip side the "setup" project isn’t as friendly when it comes to continuous integration or support concurrent development (merging setup projects, ugh!) – I expressed my views on the fact that WiX is a hell of a lot easier to maintain once it’s in place (i.e. figuring out changes other developers have made), and that making use of tools like Heat that come with WiX can accelerate your development effort quite a lot - Once you have a couple of reference projects with WiX installers it's very easy to rinse and repeat for new projects, or perhaps keep a library of wix templates on a wiki ;o)

    Source control cropped up – I use Subversion – From what was mentioned Intergen are using Team System, though TFS does plenty of things SVN does not (Merge history and light-weight labeling appeal to me) - the lack of a good “off line” story still annoyed everyone at the table – maybe once SVN Bridge is half way stable, this won’t be such a problem..?

    That lead into issue tracking and bug management – where I generally use Trac, though for some clients I’m migrating to Jira (Trac comes across as "to simple" to clients for some reason, especially to dedicated testers, but I'm still a little puzzled as to why, perhaps they just don't get the "wiki" side of things?)

    Mingle also came up in conversation - which is a product I’d never taken a look at – after a quick look around the site it looks pretty cool, especially with the source control aspect, I will definitely need to explore it further, though even something with about 80% of its features as a Trac plug-in would suite my needs ... any readers out there using mingle who can offer an opinion?

    I also brought up the news of the framework code being made available - I'm not really sure it registered, or perhaps there just wasn't a need (we've all got so used to using reflector) ... though at the moment I'd rather have the SharePoint source code then the framework (especially considering parts of the sharepoint framework are obfuscated).

    Hopefully next week we’ll be back on track for next Thursday with a few of the regulars, or if Thursday is turning into a "bad day" for everyone then perhaps we need to mix it up a little.

    See you all there!

    posted @ Thursday, October 11, 2007 8:26:42 AM (New Zealand Daylight Time, UTC+13:00)    Comments [0] | |
    # Wednesday, October 03, 2007
    Just a quick announcement.

    The Architecture chat is tomorrow, 11:30am at the usual spot... some possible topics for discussion.

    • AOP - Who's doing it day to day, and what tools are available out there for it, partly sparked by my belated look at PostSharp.
    • Sharepoint - yes I'm still on it, and unlike Peter Jones I'm still not loving it all that much (though I don't have the luxuary of MOSS and it's additional features).
    • MonoDevelop is finally in beta - Mono is looking more and more attractive as an alternative, but I'm still unsure I could survive without resharper.
    • Windows 2008 RC is out & Vista SP1 (for select people) - anyone played with them yet?
    If anyone else has any topic suggestions then let me know, otherwise it'll just be an open discussion - much like every other time :)

    See you there!





    posted @ Wednesday, October 03, 2007 8:05:14 AM (New Zealand Daylight Time, UTC+13:00)    Comments [1] | |
    # Friday, September 21, 2007
    Quite a good turnout, with well over a table full (I didn’t take an official count, but I’m guessing around 12 or more) including Alex James and Keith (who we hadn’t seen for a while) and two newcomers from Olympic Software, which was great - we always like to see fresh faces and ideas.

    I talked very briefly about Castle Project RC3 – I suggested it was a week or two away from getting out the door, but in fact - It’s out as of about an hour ago! (11:30am) - the website and documentation is still in the process of being updated, but the installer and binaries/source are all here.

    I was going to run through some of the changes I like in RC3 – but the conversation got steered away before I got warmed up - but it's well worth checking out, if you haven't been keeping an eye on the trunk and the changes that have been going in.

    At any rate – this is the culmination of a huge amount of work from many of the Castle contributors, I think it even has a 2 line patch of my own in there somewhere :P ... great work guys!

    PLINQ – talked about PLINQ getting closer, and the fact that parallelization is a very hot topic of late, with a few noting that the last MSDN mag was almost entirely focused on this subject.

    On a tangent, Erlang cropped, not too many of us have had exposure to the language details, but Keith had done some spelunking and gave us a quick rundown of how it all hangs together, definitely something to keep an eye on - Andrew Peter's even called it his "Language of the year".

    I brought up the MediaDefender debacle that’s been unravelling over the last week or so since their huge mail leak.  Not only are the inner workings of this organisation pretty unprofessional and certainly bordering on unethical for a corporation, but it highlights the risk most organisations run – the source of the leak being one employee who automatically forwarded all his work email to a gmail account, who then used the exact same credentials elsewhere.

    Keith gave us some insight into LUA, including why it doesn’t make an attractive language to port to .Net, and why it’s so much easier to embed in a C++ based project as opposed to something like Ruby, which just seem to be designed for that purpose, especially with it's "out of the box" set of global variables.

    I asked the question “What web load testing apps do you use” – and the answer was generally, we don’t!... I’ve been reviewing WebLOAD – which looks quite good, especially because the load machines can be deployed on a non Microsoft machine, such as Linux, making it easier to span a number of load machines out on something like Amazons elastic cloud (EC2), or low-cost machines without the hassle of O/S licensing.

    We then moved onto talking about high-scale load testing, i.e. simulating a million simultaneous requests – somebody suggested that maybe you could hire whoever’s pulling the strings on the Storm BotNet – though I’m not sure they’re into self-promotion ;o)

    We talked about social networking applications, and leveraging social networking platforms with API’s such as face book, this has been a popular topic over the last couple of months, including:
    • Finding the killer app(s) that could leverage an API like face book’s, and making money out of it.
    • Bad habits encouraged by these platforms, such as requesting your email account username and password to “email your friends”.
    Alex James brought up the great series of posts that Rowan Simpson has been making lately – not everyone knew who Rowan was... so hopefully they should know now ;o) the posts walk through, the Trade me manifesto, and then drills into:
    Over lunch we talked about many things, mostly non-IT related, but some things that did come up, including that the Mac OS isn’t going to have a NZ Daylight savings time update before Daylight savings actually kicks in, though it's not really a problem.

    Some things that got mentioned which I didn’t quite catch the details of:

    • Metabase (I’m not sure I got the name right – couldn’t find a link, but apparently it’s a game / game development platform, in alpha development at the moment, where all game assets have an associated URL, and maybe an RSS Feed??) – Alex James suggested it might be interesting to combine something like that with a web based data storage platform, such as freebase, developed by Metaweb Tech.
    • Jason K (Knowles?) - who apparently supports the Idea of every user having there own domain, to cement their various web identities together, and where all their data is held by them in one place. – can anyone throw me the correct name and url?



    posted @ Friday, September 21, 2007 12:22:34 PM (New Zealand Standard Time, UTC+12:00)    Comments [0] | |
    # Wednesday, September 19, 2007
    Sooo....

    Another architecture chat tomorrow, 11:30am at the usual spot... some possible topics for discussion.

    • Row vs Column database storage, is Column based storage important?
    • Dead Skills - What skills are on the way out / way in for Developers, DBA & Architects?
    • Castle Project RC3 will be out shortly, I'll let you know whats going on.
    • I've been watching quite a few TED presentations over the last month or so - and it leads me to wonder, what sources of Inspiration do people tap into for their own Software Creation?
    • PLINQ update - it's getting closer!
    • I thought this was interesting - a new way to detect code theft, though how many of us in NZ actually fear code theft at the moment?
    Light on topics, but still there's plenty of things to fuel debate - look forward to seeing you all there.  If anyone has anything else they would like to talk about it (or raised for debate, if you can't make it along) then just leave me a comment or flick me an email.

    btw - Not sure if Alex James will be making it along to this one, but if he does, it will certainly be his last before leaving NZ for the U.S of A.
    posted @ Wednesday, September 19, 2007 10:00:59 AM (New Zealand Standard Time, UTC+12:00)    Comments [0] | |
    # Thursday, September 06, 2007

    Architecture Chat

    So we had a reasonable turnout today, with 9 people.

    First up for discussion was the move from Microsoft to assist with the development of Moonlight – which is making silver light an even more compelling proposition then it was before...

    There was a brief talk about WPF component suites ... some of the more win forms focused of the group are looking for an easier migration path from Winforms to WPF lead by a full featured control suite...  A few of us observed that Telerik are planning to release a WPF suite of controls later on this year, and of course they already have RadControls for Silverlight available now.  DevExpress are also planning to release WPF controls “some time” this year, though not much information is available on just what makes up a “control suite” for WPF, considering the power provided just through the great data binding experience, simple controls like lists and the native 3D support.

    Following that we had a rather rambling conversation sparked off by Alex J buying an iMac for his mum, and my desire for an entirely modal windows experience for my grandmother - or at least something that stopped windows from being able to completely occlude each other (which can cause all sorts of confusion when people associate a window “disappearing” with an action having taken place, like an email being sent).

    Peter mentioned a project (which I didn’t quite catch the name of) which creates a "modal" almost terminal-like experience for windows, which sounds like it could be interesting... I’m thinking perhaps I need to write myself a entirely modal shell for windows ... maybe a task for a full-screen WPF app ;o)

    That lead on to a conversation about undo and document change tracking, concluding in a few thoughts - we covered a random assortment of topics including MOSS 2007, WebDav and the poor uptake/usage of shadow copy some of the “thoughts” included:
    • New versions of documents shouldn’t be able to overwrite old documents, period, bake in at the OS level.
    • There needs to be a change to the usability of undo/redo so that you can move backwards and forwards through change history using a slider or some kind of similar time line experience.
    • Previous text can be copied and then the slider dragged back to the “current state” to paste (With no way of interacting with the previous state, to avoid accidentally loosing the current state).
    After that we branched out into talking about Load balancing, Amazon E2 i.e. the Elastic cloud, Peter hadn’t heard about Grasshopper but seemed pretty excited by the thought of converting .Net applications to run on J2EE (and as such, commodity hardware) – though Gareth mentioned it wasn’t all that cheap, so you probably need to avoid having to pay a few windows server licenses to balance to books.

    Data Layer Componentization and the concept of a DataServer also got a mention, a long with some discussion around the lack of an off the shelf product which solves some of the “tough” problems with implementing highly scalable and distributed data platforms ah la things like BigTable and similar map-reduce style data storage concepts.  I wonder if Pile can offer us anything in this space as well?

    Last of all Alex J briefly asked about mixed-mode authentication for IIS – as it happens Ayende recently posted about this, with the gritty details of getting it to work.

    And I think that’s about enough from me... also don’t forgot we have 2 user groups next week (Tuesday in Ellerslie, Wednesday in Auckland Central), details are below.

    Next Week : User Group Meetings


    Ellerslie


    A lap around Visual Studio 2008 & A lap around C# 3.0

    11/09/2007 (Tuesday) Gathering at 5:45, starting at 6:00

    A lap around Visual Studio 2008
    Presented by Darryl Burling
    Explore all the new Visual Studio 2008 features, from language enhancements; improved designers; Web and smart-client development tools; to Visual Studio Team System, a suite of software life cycle management tools poised to transform how you deliver software for Windows Vista, the 2007 Microsoft Office system, and the Web.

    A lap around C# 3.0
    Presented by Alex James
    Explore quickly the new features of C# 3.0, including things like LINQ, Lambda Expressions, Anonymous Types etc.

    Catering: Pizza & Drinks
    Door Charge: Free
    Parking: Free, just park in Olympic Software’s car park.

    Venue

    Olympic Software
    10 Cawley St
    Ellerslie,
    Auckland

    Map To Venue


    Auckland CBD


    A lap around Visual Studio 2008

    12/09/2007 (Wednesday) Gathering at 5:45, starting at 6:00

    A lap around Visual Studio 2008
    Presented by Darryl Burling
    Explore all the new Visual Studio 2008 features, from language enhancements; improved designers; Web and smart-client development tools; to Visual Studio Team System, a suite of software life cycle management tools poised to transform how you deliver software for Windows Vista, the 2007 Microsoft Office system, and the Web.

    Catering: Pizza & Drinks
    Door Charge: Free

    Venue

    Microsoft
    Level 5,
    22 Viaduct Harbour Avenue,
    Auckland

    Map To Venue


    posted @ Thursday, September 06, 2007 11:01:19 PM (New Zealand Standard Time, UTC+12:00)    Comments [0] | |
    # Wednesday, September 05, 2007
    Hi All,

    Another architecture chat tomorrow, 11:30am at the usual spot... some possible topics for discussion.

    • Data Layer Componentization.
    • OOXML - the "no with comments" response - anybody bother finding out what the comments were?
    • Google wiki.
    • IronPython, IronRuby... now IronLisp.
    • The so called "Digestion Phase" for technoloy.
    • Mono Olive - WF, WCF, System.Query/Linq, Xaml support (no WPF as such).

    If anyone has any other ideas for discussion, just leave a comment on my blog... or just pop along tomorrow.

    posted @ Wednesday, September 05, 2007 12:05:16 PM (New Zealand Standard Time, UTC+12:00)    Comments [0] | |
    # Thursday, August 23, 2007
    So yet another architecture chat come and gone, small turnout today, with 5 people I believe.

    Had some interesting discussions none the less...

    So first off a brief discussion around implementing OleDb i.e. what's involved in doing it yourself, is it worth it etc.  Alex James much prefers the idea of implementing an ADO.Net provider which is far easier, though obviously OleDB or ODBC provides a bridge to the past and to other technology platforms like php or ruby.

    There are some products (such as the ones from ODBC SDK) which lets you write your own across a proprietary data source, though I'm not aware of any open source equivalent for assisting with the development of ODBC or Ole DB providers in .Net..??

    After that we had a lengthy discussion about Microsoft Patterns & Practices, partly sparked by the first release of the Repository factory which seems like a bit of a non-event ... the discussion basically resolved around points such as:

    • Do they have some inbuilt desire to over-engineer these products (it definitely seems like it!)
    • Is the over-engineering perhaps sparked by a desire to appear "innovative" in the face of existing community projects, i.e. Enterprise Library logging must appear to innovate in the face of existing projects like log4net of nlogr, which already do what most developers need.
    • Are the features in the factories and libraries being driven by customer needs, or some high level vision that doesn't necessarily tie in directly with the pain developers are feeling?
    I think the gut feeling of the group was that there's a definite lack of pragmatism or YAGNI in a lot of what's released from P&P which is putting people off diving any deeper, it's a shame considering the group as a whole won quite a lot of us over in the early days with the first release of the DAAB.

    Moving from that we talked about the OpenXML debate... personally I thought the strong push from Microsoft came a little out of left field during Code Camp (much like the Mindscape presentation on Lightspeed ;o) - considering I hadn't heard much about it until then in the Microsoft community, and then we bashed around some thoughts, such as impacts of the standard being approved or not - and the motivations of people supporting either standard.   I think most of us aren't particularly concerned with the outcome because our projects don't normally encroach on the document generation / parsing space - though I can certainly see it eventually having quite an impact on regional and local government for instance.

    From their we talked about being entirely underwhelmed with vista sidebar gadgets, and the fact that the sand boxed environment of the gadget detracts largely from it's appeal of providing "context" related information for the application your focus is currently on at the time.  Obviously work-arounds exist, but I think we were hoping for a more formal publish-subscribe system attached to vista gadgets so information could be easily ferried between applications and vista gadgets in an unobtrusive and more formalized manor.

    The Maxthon browser came up in conversation, PeterB mentioned using it a few weeks ago, and it looks like he's got at least one convert - in particular it seems that it gets around some of the annoying Internet explorer crashes on vista64, while still using the IE rendering engine etc.... I may well have to give it a go to fix Renee's Vista64 PC.

    Also had a discussion around using Windows Workflow Foundation, both myself and David W are starting to delve into it for upcoming projects, and we're both finding if difficult to:
    • Find decent examples that don't target old beta's.
    • Searching only non-beta documentation.
    • Find examples which are sufficiently complex enough i.e. where's a "meaty" state engine example, rather then a toy.
    Which also led onto the discussion around examples and blogging - we think products, like Windows workflow, really need some blogging community liaison that:
    • Blog's almost if not every day (small nuggets of valuable content, that will make for good search-engine fodder)
    • Releases a sample, say once a week up until the product is released, and then with follow up examples for a couple of months at least after release.
    • Maintains samples that are released on community sites as new CTP's and the all important RTM's are released, so they don't go stale over time.
    Perhaps we've both overlooked some key resources - but it just seems like the content surrounding windows workflow foundation, particularly on sites like netfx3 are actively maintained until the products go final at which point, things such as samples are left targeting previous beta's and serving to confuse the community in many cases.

    Next one is in 2 weeks, Thursday 6th September, we might even have a quick 15 minute screwturn plug-in development demo then... if Peter's in the mood.

    posted @ Thursday, August 23, 2007 1:30:10 PM (New Zealand Standard Time, UTC+12:00)    Comments [5] | |
    # Wednesday, August 22, 2007
    So it's that time again for another Architecture Chat tomorrow - same time / same place (11:30am at Garrisons, Sylvia Park).

    What's up for discussion:
    • Codecamp recap and feedback.
    • Teched thoughts & feedback.
    • The OpenXML debate.
    • Repository Factory from P&P
    • Workflow foundation (anyone using it?)
    And of course anything else people would like to discuss... just leave a comment, or flick me an email.


    posted @ Wednesday, August 22, 2007 1:45:59 PM (New Zealand Standard Time, UTC+12:00)    Comments [2] | |
    # Thursday, August 09, 2007

    The Sylvia Park Architecture chat was today, bit slow to start with, but not a bad turn out with 9 of us in the end.

    First some stats:

    Number of people presenting at teched1 (Alex James)
    Number of people going to teched3
    Number of people going to codecamp 7'ish

    First off I asked the question, should you open source software that is key to your business, sparked by a recent conversation with and old business partner who's been considering open sourcing the product I helped develop for him - mostly because the business makes money for deploying/consulting/configuring the software more so then licensing it, and the remote chance of other people using/promoting etc. the product couldn't hurt the companies profile.

    This sparked a bit of a debate, and certainly a few of the people developing products in the group had some opinions.

    • It's not a matter of make the source available and they will come, you need to actively construct a community around your product.
    • You need to make all the communications for the project visible.
    • If you cannot communicate the vision for your product clearly, you'll never get traction with the community.
    • By and large you’re better off focusing on making money, there's a long lead time before OSS projects gain traction.

    We then moved onto something a little more hands-on, talking a bit about Rhino ETL - I ran through my experience so far (personally I'm liking it a lot) and the feedback from others was that SSIS does about 98% of what you need, with the customization work required for the other 2% taking as long as the rest of the project!  I could see RhinoETL being a great little swiss army knife for a lot of data-related projects in the future, especially with its target support.

    Keith's question was asked, when is PeterB going to start blogging/bliki'ing... not any time soon I believe was the response, as he requires some kind of alter-ego... Along the same lines we also briefly talked about the decline in blogging, and what “good” blogs people read among all the noise that's out there today...  Technology-savy VC's came up in the conversation, such as Paul Graham (of "hackers and painters" fame).

    Tagging & tagging file systems were next on the table (like Alex James's XTend which got a mention) and Peter noted that the upcoming service pack for Vista should make it a lot easier to organize data via "piles" i.e. dragging documents without an author over a pile of documents by a certain author will assign the author to the anonymous document. 

    The key point/concern was that these kinds of tasks must not make search operations harder i.e. Categorization should never penalize search operations.

    Talked a little about BDD or Behaviour Driven Development, this struck a chord with Peter who has been doing something very similar with existing clients, though I'm not sure I articulated the Analysis side of the BDD very well - there's a nice BDD introductory post on the DanoNorth.net blog.

    In my mind at least BDD is all about ubiquitous language – I see it as the central tenant of BDD, where energy and thought is put into keeping the business level parts of corporation or company in-line with the development/software/solution parts - tying it all together with a common language/vocabulary.

    Digging in deeper we have some software frameworks to help with BDD testing:

    Roy Osherove recently posted a nice "look" into the use of BehaveSharp too, worth a look.

    On a similar note Test Driven Development cropped up, with the interesting question of just how you could "force" or "lead" someone through the process of developing test first (without just having them watch a screen-cast) ... easier said then done I think was the consensus.

    Also briefly covered was Lightspeed 1.0 and the announcement of the versions/pricing came up... Some of us were intrigued by the model-based pricing structure :)

    Incidentally Like the container tutorials series I did, I also index these blog entries (and some general information about the Sylvia Park chats) on my wiki.

    posted @ Thursday, August 09, 2007 3:28:15 PM (New Zealand Standard Time, UTC+12:00)    Comments [2] | |
    # Wednesday, August 08, 2007
    Just a reminder that the Sylvia Park Architecture Chat is on tomorrow, 11:30am at Garrisons (as per usual).  I ummed 'n ahhed about doing it so close to the Dev Code Camp / Teched, but I can't see it doing any harm, worst case scenario we just have a smaller turnout.

    So I'm looking/asking for topics, here's some things that have perked my interest over the last week or so:
    See you there.

    posted @ Wednesday, August 08, 2007 6:54:54 PM (New Zealand Standard Time, UTC+12:00)    Comments [0] | |
    # Friday, July 20, 2007
    So, big congratulations to Alex J - first an MVP and now a Microsoft employee to boot... (which I suspect trumps his MVP status, probably should be MVE now, for Employee!).

    I've been working with Alex (2 Alex's... very confusing) on a pretty interesting project for the last couple of months, and it's been a lot of fun getting a brain dump from a guy who's so passionate about technology (and community too) and with so many varied and original ideas... Whenever Alex J starts a sentence with "now I've been putting some thinking around this" you generally know your about to learn something cool :)

    On a side note, I'm thinking of taking over the organization/blogging etc. of the Sylvia Park Architecture Chats in the other Alex's absence... It would be a real shame to let it die once Alex J has moved to the states... at any rate, something to talk about this coming Thursday at the next chat!


    posted @ Friday, July 20, 2007 5:21:10 PM (New Zealand Standard Time, UTC+12:00)    Comments [3] | |
    Search
    FeedCount

    Tags...
    .Net (83) .Net Reactor (4) .net user groups (9) 2008SummerRoadTrip (1) ActiveRecord (1) architecture (1) architecture chat (90) ArchitectureCamp2007 (2) asp.net (1) Astoria (1) Auckland (1) base4 (9) batching (1) binsor (1) blog (4) boo (1) books (1) C# 3.0 (9) cambodia (9) CAML.Net (1) castle (40) china (8) codecamp (3) codeplex (3) dapper.net (1) DevDefined Ltd. (4) DirectShow.Net (1) DLR (1) DSL (4) EAUG (1) Enterprise Architect (5) Enterprise Architecture (1) Enterprise Library (1) F# (1) feedburner (2) first post (1) Friendster (1) generics (1) googlegears (1) hacks (3) hardware (3) hongkong (2) Horn (1) hyper-v (1) ideas (1) IoC (21) IronPython (13) IronRuby (2) jobs (1) Languages (2) laos (8) LINQ (7) LiveId (1) LLU (1) Local Government (1) MDA (1) MDD (1) microsoft (1) Model Driven Development (1) mono (1) monorail (2) Movies (1) Music (1) nDepend (1) news (1) NHibernate (3) NUnit (2) nvelocity (1) OAuth (6) office (1) OpenSocial (1) orcon (1) photos (1) php (1) PostSharp (1) powerpoint (1) presentations (1) ReSharper (1) REST (2) rhino commons (3) rhinomocks (5) Ruby (1) SaaS (1) scm (1) Screen Architect (0) SharePoint (5) silverlight (1) Splicer (4) SQL2008 (1) supcom (1) survey (1) svn (1) Syzmk (4) thailand (6) Tools (2) Tortoise SVN (1) trac (2) Travel (36) Unity (2) vietnam (7) vista (2) visual nhibernate (1) vmware (1) volta (3) VS2008 (1) WCF (3) wiki (2) wikipedia (1) Windows Server 2008 (1) windsor (6) WinForms (1) wix (2) WPF (2) xmlrpc (1) yahoo pipes (1)
    Who am I?
    Alex Henderson
    Alex Henderson
    Auckland, New Zealand
    Managing Director at Dev|Defined Limited

    "Self Confessed Coding Junky for 15 years"
    View Alex Henderson's profile on LinkedIn
     
    Mobile: +64-21-402-969
    Email: bittercoder 'at' gmail 'dot' com
    MSN: bittercoder_nz@hotmail
    Skype: alex.devdefined
    Navigation