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 AM (New Zealand Standard Time, UTC+12:00)    Comments [0] | Trackback |
 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 AM (New Zealand Standard Time, UTC+12:00)    Comments [0] | Trackback |
 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 AM (New Zealand Standard Time, UTC+12:00)    Comments [5] | Trackback |
 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 AM (New Zealand Standard Time, UTC+12:00)    Comments [2] | Trackback |
 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 AM (New Zealand Standard Time, UTC+12:00)    Comments [2] | Trackback |
 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 AM (New Zealand Standard Time, UTC+12:00)    Comments [0] | Trackback |
 Thursday, July 26, 2007
About to run off to a meeting... so I'll make this quick.

Just read an interesting post by Donald Belcham on Refactoring Analysis with the help of nDepend... he's gone through the process of moving from .Net 1.1 to 2.0, then introducing interface based code, breaking classes apart to ensure they're enforcing the principle of single responsibility, moving to injecting dependencies, rolling his own primitive Inversion of Control container and finally employing the Castle Project's windsor container instead.

It pays to know a little bit about nDepend of course to understand the Abstractness vs Relational Cohesion figures... either take a look at the nDepend site, or maybe have a listen to the .Net Rocks podcast earlier this year which covered the same topic.

I'm not sure the figures actually answer questions so much as they ask them ... but it's interesting to see how much impact his first two rounds of refactoring had on the results.

I wonder how the figures would've come out had he executed his refactoring in a different order...  maybe DI first, then breaking the classes up based on responsibility, IoC and then finally introducing interfaces... hmmm

posted @ Thursday, July 26, 2007 1:57:28 AM (New Zealand Standard Time, UTC+12:00)    Comments [0] | Trackback |
 Tuesday, July 24, 2007

So IronRuby has been released in a pre-alpha state... check out the comments on John Lam's post for some additional details not in the post itself.

c:\dev\resources\IronRuby-Pre-Alpha1\Bin\Release>rbx.exe

IronRuby Pre-Alpha (1.0.0.0) on .NET 2.0.50727.312

Copyright (c) Microsoft Corporation. All rights reserved.

>>> class RubyAlpha

...    def hello

...            puts "Hello"

...        end

... end

=> nil

>>> r = RubyAlpha.new()

=> #<RubyAlpha:0000002b>

>>> r.hello

Hello

=> nil

>>>


Things of interest:
  • Lots of stuff doesn't work just yet ;o)
  • it will end up on Rubyforge, not Codeplex... and I think it's quite an appropriate decision considering the nature of the project... good to see common sense winning over marketing dogma - and it's going to be there by the end of August.
  • The project will eventually be entirely open to community contributions (I don't think that includes the code making up the DLR itself, as a shared platform that's probably something that needs to be tightly controlled)


posted @ Monday, July 23, 2007 8:22:38 PM (New Zealand Standard Time, UTC+12:00)    Comments [0] | Trackback |
 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 AM (New Zealand Standard Time, UTC+12:00)    Comments [3] | Trackback |
 Saturday, July 14, 2007
I decided to have a play with some of the new aggregation-esque platforms this evening... for a break from cutting code...

So first off I had a play with dapper, turning the castle project's build feed (that's html) into an RSS Feed... It was painless, and required zero skill ... but it was limited in what it was capable of achieving... basically you can just just click on the content you want, give it a name, then pick which named parts will make up say an RSS feed. 

dapper.png

It's pretty elegant at what it does, though I think it's got a way to go before it'll parse some of the more tricky content out there.

The next thing I did was to have a go with yahoo pipes... I decided to do something pretty simplistic, aggregating the feeds from the Fisheye change log RSS for the castle proejct with the feed I'd created with dapper.net for builds.... this was a delightful drag and drop experience, I didn't even read a tutorial ... I just seems to "work" exactly as you would expect.

The resulting published pipe is here.

yahoo_pipes.png

I didn't originally have the truncate step in the pipe, but had to add it after attempting to burn the feed with feedburner (it was over 512K in size, so feedburner politely said "no") after that it burnt just fine... as you can see:

feedburner.png

I couldn't get the two aggregate feeds to sort correctly, but I'm sure it's possible using yahoo pipe's, any new events should appear in the expected order though... you can subscribe to the feed here if your curious.

Of course the hosted platforms aren't much use if you need to handle private/local feeds or interact with other types of systems (like your private gmail account) and that's where I believe something like plagger comes into it's own... I haven't had a chance to play with it yet, but it's definitely on my list of things to do... there's still a lot of manual information management and categorization/organization that I'd rather hand over to some kind of automated agent.

[Disclaimer: I'm no expert on these kinds of things, I just figured there might be some other "head-in-the-sand" developers who haven't played with these kinds of sites, and might find it interesting like I did ;o]
posted @ Saturday, July 14, 2007 10:00:18 AM (New Zealand Standard Time, UTC+12:00)    Comments [3] | Trackback |
Search
FeedCount

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