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 AM (New Zealand Standard Time, UTC+12:00)    Comments [3] | Trackback |
Thanks to everyone for turning up at my REST presentation yesterday, much appreciated!

At any rate - a quick note to say that I'll tidy up the slide deck a little and post most of the examples in the next couple of days.

The OAuth code I'll publish in a week or two as a seperate open-source project...  probably on googlecode or codeplex... and I'll break out the dependencies on the Castle stack so that it'll be usable for a general range of consumer / provider implementations (i.e. vanilla ASP.Net etc.)

Oh and appologies if I was a little vague - I was running on empty (have the flu quite bad and haven't really slept all week).

posted @ Wednesday, May 28, 2008 9:52:01 PM (New Zealand Standard Time, UTC+12:00)    Comments [3] | Trackback |
 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 @ Tuesday, May 27, 2008 8:15:58 PM (New Zealand Standard Time, UTC+12:00)    Comments [2] | Trackback |
 Thursday, May 22, 2008
I've been getting 2 or 3 emails every month from worried .Net Reactor users regarding the status of the product or looking for support ever since this post... Truth is I'm not using the product at the moment, as I don't have any projects that need it right now - as such I'm not such a great point of contact!

At any rate, to try and deflect those queries to a more appropriate place (especially as I just don't have time to answer them in many cases) I've created the .Net Reactor users group - a place for users of Eziriz products to post questions, answers or to just ask if anyone is out there.

So if you do stumble across my blog, why not join the group and post your questions there rather then sending me an email (which I probably won't see or get the time to reply to).


Edit: as an update, the google group is now being monitored by the .Net Reactor Author Denis Mierzwiak (MrBurns104) too, which is obviously a good thing.

posted @ Thursday, May 22, 2008 3:24:09 AM (New Zealand Standard Time, UTC+12:00)    Comments [0] | Trackback |
 Wednesday, May 14, 2008
There's an Architecture Chat Tomorrow - 15th May, 11:30am at Garrisons, Syliva Park.

Some possible thoughts around topics are:

  • VS2008 SP1 / .Net Framework 3.5 SP1 beta released - loads of goodies.
  • OpenId and the current call to Arms for .Net developers.
  • OAuth (especially when writing REST API's).
  • Implementing Dashboards in Web MVC Frameworks.
  • Code generation vs. code synthesis and how it relates to Model Driven Architecture and code generation tools.
  • What are the impacts of embracing polyglot programming within an organisation, can it be potentially harmful?

If you have any other topic suggestions just leave a comment on this post, or flick me an email if you're the shy type.

Previous posts and further details about this group can be found on my wiki here.

See you all tomorrow!
posted @ Tuesday, May 13, 2008 9:48:15 PM (New Zealand Standard Time, UTC+12:00)    Comments [0] | Trackback |
 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 @ Sunday, May 04, 2008 10:42:52 PM (New Zealand Standard Time, UTC+12:00)    Comments [0] | Trackback |
 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 @ Tuesday, April 29, 2008 9:26:50 PM (New Zealand Standard Time, UTC+12:00)    Comments [2] | Trackback |
 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 AM (New Zealand Standard Time, UTC+12:00)    Comments [3] | Trackback |
 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 @ Sunday, April 13, 2008 10:00:56 PM (New Zealand Standard Time, UTC+12:00)    Comments [2] | Trackback |
Someone recently sent me an email letting me know my NUnit "support" for IronPython project only targeted NUnit 2.2 and was a little out of date. 

(For those not sure what I'm talking about - perhaps take a look back at these posts (1, 2) from October of 2006)

I didn't realise anyone was actually using it - but I see it's being linked too from the IronPython cookbook, so I decided to take half an hour and update it to target NUnit 2.4 - I left it targeting IronPython 1.1 however instead of 2.0 (IronPython users should be able to handle that task if required).

The usage changes a little from NUnit 2.2 to 2.4, instead of deriving your tests from a custom TestSuite class you now just annotate an empty class with some attributes... makes everything a little cleaner as your project doesn't need to reference IronPython etc. any more.

[PythonSuite, Script(FileName = "MyPythonFixture.py")]

public class MyPythonSuite

{

}


The python files are embedded resources by default (though it's a minor code change to support external python files as well) - you can include multiple Script attributes for a single suite as well, if required.

If you want to dynamically include python resource files based on their content i.e. all embedded resources with a first line containing "#test" then you would do this:

[PythonSuite(DiscoverEmbeddedResources = true, DiscoveryKey = "#test")]

public class DynamicPythonSuite

{

}


The project is now split into two assemblies.
  • IronPythonTest.Addin
  • IronPythonTest.Framework
The Addin assembly needs to be installed into your NUnit 2.4 add-ins directory i.e. C:\Program Files (x86)\TestDriven.NET 2.0\NUnit\2.4\addins - you will need to place the IronPython assemblies in there as well if they're not registered in the GAC.

Only the framework assembly needs to be referenced in your project so you can have access to the PythonSuite and Script attributes.

And that's about it, all other questions should be answered in the posts from 2006, or just leave a comment on this post if you have any trouble.

Code can be downloaded from here.

posted @ Sunday, April 13, 2008 9:25:23 PM (New Zealand Standard Time, UTC+12:00)    Comments [0] | 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