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

 Wednesday, February 04, 2009
Cattle Class Survival Tips with Angus Logan

So Angus the dodgy Aussie blogs about his “techniques for ensuring the guy in the seat in front can’t stop you from using your laptop

Mobile 268

I found that the ‘tap the touch screen entertainment system really hard’ approach worked wonders on my AC flight YC-YVR on Friday night.

Aussie ingenuity indeed. Of course, kiwi ingenuity would require we used No8. Fencing Wire… and I just can’t image that would be at all pleasant.

Human Aggregation|Wednesday, February 04, 2009 2:14:53 AM UTC|Comments [0]|    
 Tuesday, February 03, 2009
Singlehandedly Destroying Our Carbon Footprint

So I’ve done about 43,000km of travel so far this year….. YIKES! probably another 30,000 this month too.

I’ve decided to use Tripit to track my travel stats this year.

image

Travel|Tuesday, February 03, 2009 11:34:03 PM UTC|Comments [0]|    
Wear Your Helmet Children

So I watched a few Snowsports videos while I was skiing in Banff last week. There is an increasing focus on avalanche education which is a good thing I think. I watched the Biography flick on Craig Kelly called Let it Ride and The Fine Line which is a sort of Hybrid action+education flick on Avalanches in the back country.

All go through the big three avy safety tools you should never be without:

  1. Beacon/Transceiver. With fresh batteries and a user who knows how to use it. I’ve got one of the older model Barryvox beacons.
  2. A probe- that’s long enough for the sort of locations you’re hitting. I have a 300cm G3 probe.
  3. A shovel. I’m personally not a big fan of polycarbonate shovels, they may be lighter, but the wet snow here in NZ is just too likely to break them… You want a nice big alloy shovel for digging your friends out pronto like!

Something that a bunch of them missed was helmets. Back when I was a ‘grom’ skier Helmets were totally ‘uncool’… but that’s all changed, I wouldn’t be without mine. Several of the case studies in The Fine Line talked about severe head and facial injuries so a good Helmet is number 4 for me.

Check out this email that the guys from Shred Ready received about how one of their helmets helped in an avalanche situation.

http://shredready.com/team/2009/02/we-are-happy-our-friend-eric-zuaro.html

Adventure Sports|Tuesday, February 03, 2009 10:53:44 PM UTC|Comments [0]|    
 Monday, February 02, 2009
Xero Error handling. Errors in your pages are bad. Errors in your Error pages are REALLY bad.

Whoops! Got to Xero this morning and got this.

image

Looking at the address bar it appears that it’s sent me to the custom error page. And then the custom error page has thrown an unhandled exception which has been bubbled to the default error handler.

If ever there was a case for using ‘On Error Resume Next’ then Custom ASP.NET Error pages are it . Throwing an unhandled exceptin from your nice Custom Error page gives bad UX.

On the plus side, the Xero support people are just super and the actual application really rocks too.

.NET|Monday, February 02, 2009 10:32:23 PM UTC|Comments [2]|    
 Sunday, January 25, 2009
Windows Azure Development Fabric and IP v6 Issues

So you may find yourself having issues calling into the development fabric web roles. The error message will be something like ‘te server actively refused the connection’. There are some issues with IPv6. The development fabric will only listen on open host and I think what was happening is that the requests appear to be coming from the IPv6 address rather than the IPv4 one3.

Anyway, I disabled IPv6 and commented the IPv6 localhost entry from the *.hosts file. All worked after this.

Windows Azure|Sunday, January 25, 2009 1:01:35 AM UTC|Comments [0]|    
 Saturday, January 24, 2009
Creative Freedom.

The last Labour government passed a particularly insidious piece of legislation (well actually they passed a few).

New Zealand's new Copyright Law presumes 'Guilt Upon Accusation' and will Cut Off Internet Connections without a trial. CreativeFreedom.org.nz is against this unjust law - help us

While I don’t support all their approaches, and while I have in the past found the organisers a little legally naive I'm right behind getting this piece of legislation killed. PoliTechLaw|Saturday, January 24, 2009 8:04:18 AM UTC|Comments [0]|    
The Crocs on Tour

So the first 23 days of my 365 Days of Crocs Charity Challenge have been pretty exciting.

The Crocs have been to a bunch of new places that I’ve never taken them before…. and indeed a few places I’ve never been before. They’ve survived the sweltering heat of Mumbai, the cold conditions of Beijing, a day around the Microsoft Campus in Redmond and I just arrived in Calgary where there were icicles inside the air-bridge! In summary… Crocs are the perfect choice for International travel across a variety of in-temperate climates- if you take just one pair of shoes, make it a pair of Crocs*.

 

*I do have my ski boots with me also, and a pair of trail runners…. but they’re really just for the gym.

Travel|Saturday, January 24, 2009 5:24:17 AM UTC|Comments [1]|    
 Wednesday, January 21, 2009
Dumb and Dumber – How the $%^&$%*& do you download a browser, without a browser

So I’ve been using the internet for a long time. I remember when Windows 3.1 never used to come with a browser. In most cases I’d use a copy of the browser from a 3.5” floppy disk and I’d install it with that. Sometimes I’d install a command line FTP client or Cute FTP from my floppy disk and use that.

Eventually Microsoft and the OEMs started shipping Windows with a browser. This meant that no matter what browser I actually wanted to use… I didn’t have to find my floppy disks because I could just boot up the browser and browse to Netscape.com and download my preferred browser. This was a marvellous advance.

The DUMB folks at Opera think this was some sort of retrograde step. The even DUMBER folks at the European Union are listening to them. Microsoft may have to ship a special European version, especially crippled to not have a browser.

Maybe DUMB and DUMBER haven’t thought about it yet… but, how the $%*&! do you download a competitors browser if you don’t have a browser to download it with in the first place! How many of the ‘late comers’ to the web have any idea where to find a browser DVD/CD/Floppy disk. How many have the foggiest flue how to login to their ISPs FTP server to download it? They expect to buy their PC from the department store (noticed how few ‘computer stores’ are left) and they expect to take it home and it just plugs into ADSL and works.

This is the most completely stupid idea I have ever heard of!

I hate Competition law at the best of times. It’s a nasty retrospective “don’t know you’ve broken the the law until you’re actually prosecuted because we changed what it meant half way along the way” piece of shit public policy. But, I hate DUMB and DUMBER even more.

PoliTechLaw|Wednesday, January 21, 2009 3:03:59 AM UTC|Comments [2]|    
 Tuesday, January 20, 2009
Why You Can Just ‘Browse’ To Tables in Azure Storage

So one of the cool things you can do in Windows Azure storage is just enter the URL of a public Blob in your browser and retrieve it via an HTTP GET. This makes sense as in REST, a GET and a URI will return the data at the URI. In the case of an Azure Blob this means the bytes stored returned with the appropriate content type in the header.

image

You can also do thinks like retrieve a list of the Blobs in a given container like this:

image

It would be nice to be able to do the same with Azure Table storage. A quick glance at the SDK leads one to think it’s as simple as

http://myaccount.table.core.windows.net/Tables

But this will fail on both the Cloud Storage and Local Storage. This is because

“The request must include the Authorization header and the Date header, as specified in Authentication Schemes.”

So that sounds simple enough- I just cracked open Fiddler thinking I’d just punch in the headers. But, these headers are actually fairly complex. Well, ms-x-Date is simple enough, but, the Authentication headers involve both canonicalization and signing of the request.

I’d love to give you a simple solution so you can just browse tables, but, I haven’t got one. I hope that at least this saves you from spending too much time trying.

Windows Azure|Tuesday, January 20, 2009 7:39:40 AM UTC|Comments [1]|    
Windows Azure Queue Timeout

So a question came up in the Azure training session today about what the timeout was before a ‘Dequeued’ message was returned to the quen unless it was ‘Removed’. Windows Azure is designed to ensure your messages will always be completed so it returns a dequeud message to a queu if it has not be permanently removed after a period of time.

I knew it had to be configurable… but had no idea exactly how.

The answer is here in the SDK

http://msdn.microsoft.com/en-us/library/dd179396.aspx

or, if you are using the StorageClient sample code from .NET (and if you are using .NET then you really should be!) then this post from Neill Kidd should help

http://blogs.msdn.com/neilkidd/archive/2008/12/07/poison-in-windows-azure.aspx

// Get message with 60 sec visibility
Message msg = queue.GetMessage(60);

This means to ‘Dequeue’ a message only place that message back on the queue if RemoveMessage has not been called within 60 seconds.

Windows Azure|Tuesday, January 20, 2009 7:21:02 AM UTC|Comments [0]|    
My Windows Azure Blog Post Todo List:

So based on the questions I have been receiving at the various Azure Services Platform events around the world I am starting to put together a list of blog posts to do as I get time. Please feel free to suggest other posts.

  • What Fits Where
    I probably need to do a post that talks a bit about which bits of the Azure Services Platform fit into what sort of businesses and business models. Windows Azure won’t cure world hunger, but, it will be a great platform to use if you’re going to build the next Facebook. There’s not been a lot out of Microsoft with these sort of details yet, so, hopefully this post will go someway to answering these questions.
  • Forward Caching in Windows Azure
    This post will talk about how to use the Local Storage in Windows Azure to cache data. Why you would do it. What data you should store in there. What data you should not store in there.
  • What Being Stateless Means
    What does building a stateless Web Role or Worker Role mean? What are some common traps where people might slip into ‘statefulness’?
  • Multithreading and Parallelization in Windows Azure Worker Roles
    When should you spawn multiple threads vs When you should create new instances. Will discuss things like performance bounds. CPU Bound vs IO Bound vs Network Bound.
  • How To Implement A Plug-in Model In Windows Azure
    Because the Windows Azure deployment model is on a Package basis it’s not possible to add new DLLs once an application has initially being deployed into a Compute project. The solution is, of course, to load the DLLs remotely into Cloud Blob storage and then dynamically load the types using a plugin pattern.
Windows Azure|Tuesday, January 20, 2009 2:46:36 AM UTC|Comments [0]|    
“In the mornin’….. I’m havin’ Donkey!”

So Vittorio and I went out for a traditional Beijing Dinner last night. Was really good. We tried some adventurous things. We didn’t quite get to eating the Silk Worms, but, we did eat Donkey meat.

Donkey meat in the centre, behind the pickled cucumber circle. I felt a little queasy this morning… but no idea if that was food or just general exhaustion. I’m planning a quiet night with room service in the hotel this evening. Of course my hotel meal will usually cost the same for one as dinner last night cost for four!

Travel|Tuesday, January 20, 2009 12:40:05 AM UTC|Comments [0]|    
 Saturday, January 17, 2009
Dad! I dug another hole. It’s filling up with water.

Oh so good!

Wikiquote has a page dedicated to the Castle! The best damn stick it to the man film EVER!

http://en.wikiquote.org/wiki/The_Castle

That link is going straight to the Pool Room

Human Aggregation|Saturday, January 17, 2009 12:43:19 PM UTC|Comments [0]|    
Strategies for Scaling out your Data Tier

 

Had plenty of conversations over the past few days in Mumbai with people about scale out strategies. About the difference between stateless and stateful portions of your application and about some ideas around choosing horizontal partitioning strategies.

Waddayaknow… I boot up RSS Bandit this morning and Dare has a great post on this.

Covers many of the things we discuss this week.

One of the things I focussed on a bunch this week is having some knowledge of the distribution of your data when choosing a good partition key.
You want a horizontal partitioning key (partition key in Azure Table Storage) that ideally DOESN’T fit a normal distribution.
Think of it like this. If you partition your data using say the first letter of the user name then you’re gonna end up with a whole bunch in your ‘S’ partition and not a lot in your ‘Z’ partition.

Anyway. A great post and well worth reading.

Building Scalable Databases: Pros and Cons of Various Database Sharding Schemes

.NET | Windows Azure|Saturday, January 17, 2009 12:32:19 PM UTC|Comments [0]|