Syringe.Net.Nz
Irregular Injection of Opinion
RSS 2.0|Atom 1.0|CDF

 Saturday, May 09, 2009
Solid Session on the Lifecycle in Singapore

Arrived in Singapore last night. Here for a few days running the Microsoft Dynamics CRM Business Action Training Tour.

I ummed and ahhed about bringing my road bike this time… But in the end I couldn’t be bothered.

Nevertheless I needed to get some miles into the legs this morning so it was onto the Lifecycle for an hour. I did a Training Effect of 4.8 out of 5 on my Suunto T3c which was the highest I’ve had it yet. I decided to leave getting to 5.0 for another day. 34% in my top zone was all good. Obviously the Lifecycle doesn’t give me enough data to feed to WKO+. The stats I worked to were approx 270 Watts at 110-120 RPM.

image  image

Gettin Fit|Saturday, May 09, 2009 11:42:48 PM UTC|Comments [0]|    
My Blog Ro9ll as an OPML File

So I needed to get this onto my iPhone. Thought the best way was to stick it up here and then others can take a look at it too if they want.

Blog Roll

Rambles|Saturday, May 09, 2009 9:16:14 PM UTC|Comments [0]|    
 Tuesday, May 05, 2009
Morning Masochism – Braving the rain on the Road Bike

So my morning bike ride today was an on again off again affair. An early morning tweet from @nathanm kinda leant me towards going to the gym instead. But looking outside (despite the thunderstorm) it didn’t look too bad.

Headed out around the bays but it was a nasty southerly. In the end I just ended up doing some hill repeats on Mt Victoria. Forgot to change my Polar x625x to bike mode so no power/speed/cadence in my chart today which is a bit annoying.

image   image

Gettin Fit|Tuesday, May 05, 2009 9:38:22 PM UTC|Comments [2]|    
Hmmm…. Jade 6.3 looks to have better .NET Support

I’ve always found Jade to be an interesting beast- though admittedly only ever from afar. Object databases always showed some promise yet never really went uber-mainstream- whether that was a result of any inherent weakness, lack of appropriate developer skills or bully boy behaviour by big RDBMS players who knows. Jade would certainly be one one the the bigger players in the space though and as a Kiwi tech guy it’s always nice to see local firms doing well. I’ve certainly come up against Jade systems in previous bids and I know a number of our customers have Jade applications running in-house.

The announcement (for all it's technical brevity) looks to indicate that it’s going to be a bunch easier for those of us in the .NET world to wire up our applications into a Jade system. I’m picking in the past we probably had to thunk through something nasty like either an unmanaged API or an ODBC layer which, given the idea of an OODBMS doesn’t really deliver the ideal experience.

It’s certainly something that’s going to be interesting to discuss with some of our existing customers. Being able to wire up Jade based back end (I hesitate to call them ‘legacy’ even though I want to) systems to next gen front end apps written in WPF and.or Silverlight could make for some exciting projects.

Pity that their developer license doesn’t really let it compete with SQL Express in the ‘no-cost’ end of the market. The license does not allow any commercial use.

Human Aggregation|Tuesday, May 05, 2009 12:15:47 AM UTC|Comments [4]|    
 Thursday, April 30, 2009
Blitzing workout this morning at the Gym

So I had a totally on-again off-again morning today. I was planning to go for a road ride, but, it was raining so I ended up hitting the gym for 50 mins on the lifecycle at about 260-320 Watts doing speed drills. Great hardcore workout. Training effect of 4.6/5 on the Suunto.

image

Gettin Fit|Thursday, April 30, 2009 9:59:32 PM UTC|Comments [1]|    
 Tuesday, April 28, 2009
When Staging Really is for Staging– Deployment Patterns for Windows Azure

So a post that came through on RSS this morning from Ryan Dunn got me motivated to jot down some notes on a topic I’ve bee thinking about for a while. How best to deploy into Windows Azure. I’ll caveat this post with the fact that at the moment the Windows Azure deployment story is fairly simplistic- I don’t think we’ll be deploying via the web portal come RTM.

So in Windows Azure you basically have two types of account, Storage and Compute. Within a compute account you effectively have  two sets of instances that are grouped behind two URLs. These are referred to as ‘Staging’ and ‘Production’. So you might have two URLs that look something like this:
http://foobar.cloudapp.net
http://<guid>.cloudapp.net

For all intents and purposes there is no difference between the instances that sit in behind these URLs. Basically the Azure Load Balancers are just pointing requests at the two different groups of servers. When you then push the ‘big blue button’ to do a production release you are basically just re-configuring the rules on the load balancer to swap the URLs around. This leads me to my point from the post title. In Windows Azure the idea of Staging really is much more akin to the military idea of a staging area. It’s the place where you marshal the troops ready to charge over the trenches.

image

The ‘Staging’ deployment in Windows Azure basically gives us an area to marshall our instances before we make them live on the production URL. It means that we can achieve a Zero downtime deployment model because the machines are warm when we start routing traffic to them. It also means that you might not be able to  (or probably shouldn’t)  treat the Staging Deployment like you might traditionally treat a staging server in a more traditional on premise deployment. In an on premise staging server you’ll usually take your application, deploy it into staging, test it (under limited load) then redeploy it into production- this is a very different model.

Looking at the image above you’ll see I have 1 instance in my Staging Deployment and 2 Instances in my production deployment.  If I do a swap of these then we’ll end up with 1 instance in production and 2 in staging- basically halving the capacity of our production system. This would be bad.

You should use your Staging deployment as a true staging area. You should configure it to run the same number of instances. You should give it the same configuration settings (where possible given code/data change vectors). In this way when you flick the switch and route traffic at those warm servers you’ll be ready to rock at full capacity.

What does this mean for your Windows Azure development lifecycle? Here’s how I’d configure my accounts for a real world scenario aiming to achieve zero downtime upgrades. I’m going to *gloss over* the considerations of upgrading your data layer and leave that for another blog post.

I’d configure myself with 3 storage accounts and 2 compute accounts for my application.
foobarDevStorage, foobarStageStorage, foobarProdStorage
foobarStage, foobarProd

I’d dev my project on my local box using the local computer fabric and local storage. In some situations I’d use the cloud for my Dev storage instead.

I’d treat my Stage accounts like a traditional Staging server. In other words I’d configure it with a couple of instances and deploy my package up there for pre-release testing. In reality I’d probably never use the Stage.Production Deployment on my staging server instead contenting myself with the http://<guid>.cloudapp.net URL. When I’m ready to do a production release I’d take the same package I used in Stage and deploy it into the Prod account. I’d use a Production config file and my Prod.Staging Deployment in the foobarProd account would be configured to run the full number of instances- i.e. if my production site runs on 30 instances my Prod.Staging deployment would need to be running 30 instances. I’d then to a quick^^ *smoke test* on the Prod.Staging deployment before finally swapping the Prod.Production and Prod.Staging deployments and basically routing traffic at my new deployment. I’d then suspend my Prod.Staging deployment because I’ll be paying to have those instances running.

That’s my current thinking anyway. All subject to change as Windows Azure changes over the coming month.

Now that’s the easy bit! Hot swapping the compute instances like this is easy because we are (or at least should be) building them using a stateless server pattern.

The harder part is achieving a hot swap upgrade when you need to change your data tier. Because the data tier is stateful we need to consider consistency of the data. This is a problem in on-premise models too and one that does not have an easy solution. Maybe the Azure team will come up with some ‘magic’ that helps here??? I’ve got some thoughts on how it might be done but none of them are particularly elegant or developed yet. keep your eye out for a post on it sometime in the future.

If this stuff appears useful to people (including the footnote below) I might bang up a sample and a web cast. Let me know in the comments.

P.S. Ryan: Looking forward to seeing that tool!
^^ In reality I’d probably want each instance to have serviced at least one request in order to have JIT’ed everything and spun up. This means, for a 30 instance deployment, that I’d really have to slam the server with some load and probably have some way (setting a flag in the Application.OnStart event?) of ensuring that I had hit 30 unique servers. Easiest way to generate the load would probably be with a Windows Azure Worker role :-)

Windows Azure|Tuesday, April 28, 2009 11:37:03 PM UTC|Comments [1]|    
BooRah! Back into the boxing workout

Back into working out boxing styles with a PT. My techniques not too bad and power is still really good. Fitness- we’re working on.

Lest you think that boxing is not the most killer workout you can do check out the peaks on the chart below.

image

Gettin Fit|Tuesday, April 28, 2009 9:13:47 AM UTC|Comments [2]|    
 Friday, April 24, 2009
Essential Microsoft Word Tip: Changing Your Default Paste Setting

Sitting in our all hands sales meeting discussing how to ‘not stuff up the proposal template’. Got to talking about using Paste Special->Unformatted in Word.

I didn’t know, but you can change the default paste settings in Word to ensure that cross document pasting is done nicely. The key is setting the default for ‘pasting from other programs’. This way when you cut and paste from PDFs and HTML and other stuf it doesn’t screw with your word document.

image

|Friday, April 24, 2009 2:15:16 AM UTC|Comments [1]|    
Free 2 Day Deep Dive Training for Microsoft Dynamics CRM Partners in SIN and SYD

That’s Singapore and Sydney for those of you who don’t live in airport codes :-)

I’ll be running a 2 day training course in Singapore and Sydney in a couple of weeks time. These are focused on showing you how to build out Line of Business applications using Dynamics CRM and a range of other Microsoft Platform Technologies. We’ll cover things like Silverlight, WPF, Unified Communications and Azure.

Intergen has put together all the content for this course and it’s a mix of presentations and deep dive hands on labs. It’s a 2 Day event and ideally you should have some previous CRM experience, or, have run through the CRM Developer Ramp Up Kit. You don’t need any prior experience in the other technologies but best you know your way around Visual Studio and you’ll need to be able to understand C# enough to work with it in the labs.

Metro Participants can register via www.discovermetro.net or can register directly on the Partner Learning Center. 

The link for Singapore for May 10th - 11th is
https://training.partner.microsoft.com/plc/details.aspx?publisher=12&delivery=265620

The link for the Sydney event for May 14 – 15th is
https://training.partner.microsoft.com/plc/details.aspx?publisher=12&delivery=265700

I’ll be running the same event in other APAC region cities in the future so keep tuned.

Dynamics CRM | Travel|Friday, April 24, 2009 12:37:27 AM UTC|Comments [2]|    
 Thursday, April 23, 2009
Blew Up My Road Bike This Morning

So my morning road ride ended prematurely this morning. Got half way around the Miramar Peninsula and blew out a spoke. Stupid cheap Shimano R500 wheels- methinks I might get Oli @ Roadworks to build me some nice training wheels.

image

I have got my speedo working properly again though.

image

Gettin Fit|Thursday, April 23, 2009 9:30:31 PM UTC|Comments [1]|    
 Tuesday, April 21, 2009
Photo Featured on the Destination Rotorua Site

Way cool. @RotoruaNZ Tweeted me the other day after I posted some photos of Mountain Biking up here.

Asked if they could use one of my photos on their Mountain Biking page. Check out Phil Ross on the dipper with the *loud* strobe action going on.

http://rotoruanz.com/ 

rotoruaNZ_MTB_chrisauld

If you’re one of my overseas readers I can’t comment the City of Rotorua to you enough. I’ve dreamed of living there since I was at highschool and it’s still 100% on my 5 year roadmap. It’s close to the ski fields, has phenomenal mountain biking (the Redwoods), great kayaking (Kaituna and Wairoa) and great air links for frequent business travellers like me (Can go direct to AKL, WLG, CHC and ZQN).

The only query/quibble I have with the Destination Rotorua site is why on earth is it hosted on the other side of the world!?! See the trace-route below. Looks like it’s in Orlando!
Looks like their site uses PHP so they’ll probably be a good candidate for the Apache version of the Runtime Page Optimizer http://www.getrpo.com/Product/Apache. Running the RPO site tester it reckons it should knock a couple of seconds off the New Zealand load times.

C:\Users\Chris>tracert www.rotoruanz.com

Tracing route to rotoruanz.com [66.7.213.144]
over a maximum of 30 hops:

  1    13 ms    <1 ms     1 ms  …
  2    <1 ms    <1 ms    <1 ms  …
  3     1 ms     2 ms     1 ms  wlgrtr1-65.intergen.org.nz [202.126.87.65]
  4     4 ms     1 ms     2 ms  ihwrtr1-129.intergen.net.nz [202.126.87.129]
  5     2 ms     5 ms     3 ms  32.114.216.13
  6   158 ms   150 ms   148 ms  165.87.71.190
  7   150 ms   148 ms   148 ms  12.127.33.6
  8   150 ms   152 ms   158 ms  cr2.sffca.ip.att.net [12.122.136.74]
  9   148 ms   148 ms   156 ms  ggr3.sffca.ip.att.net [12.122.136.17]
10   150 ms   149 ms   154 ms  att-gw.sanfran.level3.net [192.205.33.78]
11   157 ms   162 ms   161 ms  vlan89.csw3.sanjose1.level3.net [4.68.18.190]
12   176 ms   152 ms   160 ms  ae-83-83.ebr3.sanjose1.level3.net [4.69.134.233]

13   151 ms   155 ms   167 ms  ae-2.ebr3.losangeles1.level3.net [4.69.132.10]
14   148 ms   157 ms   148 ms  ae-63-63.csw1.losangeles1.level3.net [4.69.137.3
4]
15   160 ms   163 ms   161 ms  ae-62-62.ebr2.losangeles1.level3.net [4.69.137.1
7]
16   183 ms   181 ms   192 ms  ae-3.ebr3.dallas1.level3.net [4.69.132.78]
17   202 ms   181 ms   180 ms  ae-93-93.csw4.dallas1.level3.net [4.69.136.166]

18   190 ms   197 ms   181 ms  ae-91-91.ebr1.dallas1.level3.net [4.69.136.133]

19   215 ms   214 ms   224 ms  ae-1-14.bar2.orlando1.level3.net [4.69.137.153]

20   220 ms   218 ms   210 ms  ae-9-9.car2.orlando1.level3.net [4.69.133.69]
21   212 ms   210 ms   211 ms  hostdime.car2.orlando1.level3.net [4.79.118.38]

22   211 ms   211 ms   213 ms  dime151.dizinc.com [66.7.213.144]

Trace complete.

.NET | Adventure Sports|Tuesday, April 21, 2009 11:11:42 PM UTC|Comments [6]|    
Lovely Ride Around the Miramar Peninsula This Morning - 50km

So just a great morning here in Wellington today. Rode into the office and dropped off my laptop then did 50km around the bays. Rode out around the peninsula to the round-about then back again. About 1hr 45min all up but the last bit from Kilbirnie home was pretty cruisy. Training effect on the Suunto T3c was 4.0. Speed on my Polar is broken due to a spoke that keeps coming loose.

image

image

Gettin Fit|Tuesday, April 21, 2009 9:41:57 PM UTC|Comments [1]|    
 Sunday, April 19, 2009
Playing with the Canon 5D MkII plus some Strobes in the Redwoods MTB Park in Rotorua

 

So I spent last week Mountain Biking in Rotorua and generally recovering from my 3 months of travel.

Got out with the Canon 5D MkII and some strobes for a bit of run in the Redwoods.

Photos were taken by a variety of Myself, Phil Ross, James Ogle and Sarah Bolland.

Redwoods (Experimental ) Photo Ride (1 of 13)

Phil Ross on ‘The Dipper’.
5D MkII, Sigma 14mm F2.8 EX DG + 580 EX II on ‘Ebay Triggers’

 Redwoods (Experimental ) Photo Ride (2 of 13)

Chris Auld on ‘The Dipper’
5D MkII, Sigma 14mm F2.8 EX DG + 580 EX II on ‘Ebay Triggers’

 Redwoods (Experimental ) Photo Ride (3 of 13)

Canon 20D and Canon EF 50mm F1.8 II

 Redwoods (Experimental ) Photo Ride (4 of 13)

Chris Auld on the Dipper
Canon 5D Mk II w/ 70-200 F2.8 IS L 1 x 580 EX 1 x 580 EX II fired by ST-E2

Redwoods (Experimental ) Photo Ride (5 of 13)
David Addison
Canon 20D and Canon EF 50mm F1.8 II

Redwoods (Experimental ) Photo Ride (6 of 13)

Chris Auld and David Addison on The Dipper
Canon 5D Mk II w/ 70-200 F2.8 IS L 1 x 580 EX 1 x 580 EX II fired by ST-E2

 

 Redwoods (Experimental ) Photo Ride (7 of 13)

Chris Auld and David Addison on The Dipper
Canon 20D and Canon EF 50mm F1.8 II

 

Redwoods (Experimental ) Photo Ride (8 of 13)

Getting the strobes setup
Canon 20D and Canon EF 50mm F1.8 II

 Redwoods (Experimental ) Photo Ride (9 of 13)

David Addison on The Dipper
Canon 5D Mk II w/ 24-104 F4 L IS 1 x 580 EX 1 x 580 EX II fired by ST-E2 

 Redwoods (Experimental ) Photo Ride (10 of 13)

Chris Auld on The Dipper
Canon 5D Mk II w/ 24-104 F4 L IS 1 x 580 EX 1 x 580 EX II fired by ST-E2 

 Redwoods (Experimental ) Photo Ride (11 of 13)

Canon 20D and Canon EF 50mm F1.8 II

 Redwoods (Experimental ) Photo Ride (12 of 13)

Canon 20D and Canon EF 50mm F1.8 II

 Redwoods (Experimental ) Photo Ride (13 of 13)

Chris Auld on The Dipper
Canon 5D Mk II w/ 24-104 F4 L IS 1 x 580 EX 1 x 580 EX II fired by ST-E2  Adventure Sports | Photography|Sunday, April 19, 2009 10:48:40 PM UTC|Comments [1]|