2009-02-24 - Architecture Chat This Thursday

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.

Read More

Architecture Chat #41

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.
Read More

Architecture Chat Postponed Till Next Week

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!

Read More

2009-02-03 - Architecture Chat This Thursday

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

Some of the topics I raised at the last chat we skipped over.. so I might resurrect them again this week:

  • 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.
  • 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.


And of course some new topics / things that have piqued my interest over the last few weeks:
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.

Read More

Architecture Chat #40

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.
Read More