Friday, December 19, 2008

Microsoft Visual Basic: Component Not Correctly Registered

I got this really weird error message while I was reconstructing my Development Environment:
  • Microsoft Visual Basic
  • Component Not Correctly Registered

This occurred because I was uninstalling Visual Studio 2008 and SQL Server 2008 and re-installing SQL Server 2005 for the purpose of completing some self-paced training kit labs.  As a result, I was no longer able to execute any Excel macros, even after reinstalling all the latest software.

The solution was fairly simple: download and install the Visual Basic Runtime 6.

Wednesday, December 17, 2008

Thoughts from a Training Junkie

Thoughts from a Training Junkie


James Teaches

What It Was

  • Professional Association of SQL Server - Code Camp
  • Whitireia Polytechnic
  • Porirua, New Zealand
  • Saturday 6th and Sunday 7th December 2008

What I Learned

  • Adam Cogan is a barrel of laughs
  • Dr Greg Low is the fount of all knowledge
  • People are interested in learning about Certification
  • Adam has top 10 lists for everything
  • Nathan Pitcher is good at getting people to volunteer their time
  • Adrian Englebrecht is good at getting people to honour their committments

Live Services Jump Start

What It Was

  • Live Services (Mesh & Azure) Training
  • Four Points Sheraton by Darling Harbour
  • Sydney, Australia
  • Monday 8th and Tuesday 9th December 2008

What I Learned

  • Dr Neil Roodyn is the fount of all knowledge
  • This is bleeding edge stuff
  • SQL Data Services is NOT a relational database in the cloud
  • Microsoft still haven't worked out a marketing/pricing model for this stuff yet
  • This is a direct result of the success of Google's offerings
  • Android is Google's operating system for smart phones
  • Azure is still in Beta; developers are encouraged to make use of up to 50GB capacity; we are encouraged to make any recommendations we deem appropriate

Book Review

Book Cover


The Rational Guide To...


Building Technical User Communites


Dr. Greg Low, Microsoft Regional Director


Rational Press, 2007






In this guide you'll learn how to...

  • Build Successful Technical User Communites
  • Raise Funds For Your User Groups
  • Attract New Members


  • Part I - Overview
    1. People, Not Technology
    2. Something for Everyone
    3. Finding Speakers
    4. Tried and True
  • Part II - Starting and Growing User Groups
    1. Pizza Does Not Define a User Group
    2. Don't Reinvent the Wheel
    3. Recruiting Members
    4. Content and Handouts
  • Part III - User Group Meetings and Conferences
    1. Using Technology
    2. Recruiting Volunteers
    3. Conducting Meetings
    4. Tips for Presenters
  • Part IV - Legal and Finance
    1. The Fine Print
    2. Funding
  • Part V - Extras


A great little ripper.  I must confess, that a lot of things happening around me currently all seem to be converging on community as the way of building relationships and getting things done in this technological and impersonal 21st century.  This is a timely book, not just for technical communities either.

Highly recommended.

Situations Vacant

Infrastructure & Corporate Supply Manager

Supply chain complexity

  • Gain exposure to broader Telecom business as you build on your career through involvement in a range of commercially focussed projects. Experienced in vendor management, broaden your commercial experience in our diverse and change rich environment.
  • Manage performance and commercial management relationships with vendors ensuring the delivery of optimal total cost and performance outcomes. Your finely tuned commercial negotiation skills will be drawn upon to initialise discussions, agree terms and conditions and put contracts in place. Manage the relationship with suppliers and our internal stakeholders continually seeking improvement opportunities whilst achieving effectiveness and efficiency for our business.
  • You'll be comfortable dealing in the vendor management space and have gained experience in large commercial environments. Your strengths lie in commercial acumen, problem solving and negotiation skills. With previous experience under your belt you've no problem managing relationships extending across multiple business areas and multiple business owners. You'll be tertiary qualified ideally with commercial/legal background. You may have some IT vendor management experience or you may be keen to extend your skills into the ICT vendor management space.
  • Infrastructure Supply Chain, in conjunction with various business owners, manages the myriad of suppliers such as hotels to larger complex commercial businesses ensuring we have the necessary infrastructure to carry out your day to day job. There hasn't been a better time to join this committed team and contribute to its evolution.
  • So, are you ready for the challenge? Apply today

Operational Delivery Manager - Release Manager

Places to go, people to meet…

  • Time to take a step up and really go places, working on one of our biggest ICT accounts. A major account of huge value, this will get you heading in the direction that you've being planning. It's not for the light hearted though, you won't just participate in change; you're expected to influence and lead thinking too!
  • Get your kick out of delivering quality solutions as you anticipate your client's every need. Closely aligned to a Service Delivery Manager, you'll be the operations and support service champion and will orchestrate the technical teams to provide optimum technical and support solutions. It's not a 9 to 5, we work around our customer to ensure uninterrupted service, and flexibility is a must.
  • You'll be in your element alongside the customer, building the type of partnership that becomes invaluable to them. Innovative by nature, you certainly see the value in effective service and can share that worth with our broad virtual team. Combine your ICT project management and exceptional communication and org skills to manage service expectations and drive operational outcomes.
  • Providing a breadth of services unparalleled in the New Zealand market, Gen-i is NZ's ICT market leader. We are a dedicated team helping our client to generate greater value from their IT and telecommunications spend, while managing the transition from legacy networks and systems to converged technologies that will meet their needs today and beyond.
  • So get ready to go places and apply today.

Strategic Sourcing Manager

Supply chain complexity

  • Deliver some of our most complex purchasing agreements and gain exposure to several parts of the broader Telecom business as you build on your career through involvement in some of the most complex, leading edge technology projects in town. Multi-million dollar sourcing deals and complex stakeholder management will keep you busy in this autonomous and results driven role.
  • Manage the commercial aspects of various supplier relationships ensuring the delivery of optimal total cost and performance outcomes. Your finely tuned commercial negotiation skills will be drawn upon to initialise discussions, agree terms and conditions and to put contracts in place. Manage relationships with our suppliers and internal stakeholders continually seeking improvement opportunities achieving effectiveness and efficiency for Telecom and our suppliers.
  • You're a seasoned veteran in running large end-to-end and complex ICT commercial purchase processes (some in excess of $100M), from RFI through to Q&As and recommendations. Your ICT knowledge will extend across the entire buying solution of Hardware and Software and the various aspects of their integration. Your strengths lie in commercial acumen, problem solving and negotiation skills and you know how to manage sourcing processes and the stakeholders involved to mitigate risk to the organisation and manifest positive outcomes. In addition, you will be well versed in vendor management having gained this experience in multifaceted, enterprise environments and you've no problem managing relationships extending across multiple business units and multiple business owners.
  • Infrastructure Supply Chain, in conjunction with various business owners, manages the myriad of suppliers to both support our Heritage and Next Generation Network (NGN) and various other suppliers to ensure we have the necessary infrastructure to supply products and services to our customers and carry out our day to day jobs. There hasn't been a better time to join this committed team and contribute to its evolution.
  • Are you ready for the challenge? Apply today

Places to Go, People to See

Just a quick note to myself really.  I've done a lot of blogging recently about two Microsoft Events I attended, however I've realised something about those posts.  Whereas I had quantity, Nigel Parker had quality.  Whereas I typed everything I was learning, I didn't really interpret their meaning.  I intend doing that over the next couple of days.  In the meantime, here are the people I met:

Live Services Jump Start
  • Kitty Chiu from Wesfarmers Industrial and Safety.  Senior eBusiness Developer and fellow Christian.
  • Lloyd S Derbyshire from Zardoz Systems Limited.  Managing Director and fellow Kiwi in Oz.
  • Nigel Parker from Microsoft NZ.  UX Development Advisor and fellow Kiwi in Oz. 


  • Kevin Swain from gen-i.  Database Administrator from Auckland
  • Simon Green from MAF.  We shared photographer and video duties on the weekend.

Monday, December 8, 2008

Live Framework .NET API Kit

Live Framework .NET API Kit
  • Dr Neil Roodyn
  • 11am
  • Key Take away
  • Live Framework Overview
  • Introducing the Live Framework API Kits
  • Live Framework Kit for .NET
    • Overview
    • Key Concepts
    • Accessing Live
    • Managing application’s data
    • Sharing your data
    • Taking the application Offline
 Key Take away
  • Live Framework allows you to integrate the power of the cloud in a cohesive and consistent way in your application
  • Live Framework enables you to move to the next inflection point in the software industry
  • .NET developers can use the Live Framework Client Libraries to build their application
  • A set of libraries which can be used to program using Live fx
  • .NET, SilverLight and JavaScript Libraries available today
  • Work on various platforms and programming languages
 Design Goals
  • Expose the core Live service in a cohesive and consistent way with .NET
  • Make it easy and natural for .NET developer to consume Live Services
  • Have a symmetrical programming model
 Accessing Live
  • LiveOperatingEnvironment class
    • Connect your application to the LiveOperatingEnvironment
      • Sync and async pattern available
      • Local or remote connection available
    • Main entry point to all Live Services
    • Optimize the access to resource at connection time
 Managing application’s data
  • Mesh Object
    • Container of application defined metadata
    • Fundamental unit of extensibility, sharing and synchronisation
    • Can be replicated across a set of devices
    • Can be shared among a set of users and applications
    • Contains: Members, Mapping, News, DataFeeds, Activities
  • DataFeed
    • Store application information: Metadata and blobs
    • Receive update information
    • Has Replication and synchronization capabilities
    • A mesh object can have any number of data feeds
    • An application may create/modify/delete feeds at any time
  • DataEntry
    • Data Entries and stored in a DataFeed
    • Lowest level of storage in a mesh object
 Accessing Live
  • Users control their data
  • Delegated authorization via Live ID for web apps
  • Apps work on behalf of user
 Navigating the Model
  • It’s all about Collections!
  • Meshobject.DataFeeds collection
  • LiveItemCollection
 LiveItemCollection properties
  • Title
  • Entries
  • IsLoaded
  • LiveOperatingEnvironment
  • SelfLink
 Querying Collections
  • Collections are everywhere
  • LINQing to Mesh data
  • May want to filter, sort large data sets
  • CreateQuery vs LINQ to Entries
    • Server side filtering
    • Client caching
 Sharing your data (Members)
  • Represents a Windows Live ID’s membership in the MeshObject
  • New members have to be invited to be part of the Resource
  • Has a role based on the object: Full, Author, Writer, Reader
 Taking the application Offline
  • Local End Point
    • Leverage the Symmetrical APIS
      • Same APIs are used in the local the remote end point
    • Change the target URL to be local
    • Mesh Service takes care of the data
  • Live Framework
    • Allows you to integrate the cloud in a cohesive and consistent way
    • Enables you to move to the next inflection point in the software industry
    • .NET developers can use the client Libraries to build their applications
  • Start using it today, we want your feedback!
 Call to action   

Mesh Enabled Web Applications

Mesh Enabled Web Applications
  • Dr Neil Roodyn
  • 12pm
 Web Apps
  • Pro
    • Access Anywhere
    • Ease of Deployment
    • Automatic Upgrades
    • Security
  • Con
    • Connectivity
    • Richness of UI
 Client Apps
  • Pro
    • Work offline
    • Rich UI
  • Con
    • Deployment
    • Upgrades
    • Platform specific
 Mesh Applications
  • Best of both worlds
  • Access anywhere
  • Data everywhere
  • Data sharing
  • News
  • Deployment
  • Security
 Installing and Running
  • Open Live Desktop
  • Go to Apps tab
  • Choose a Mesh Application
  • Click “Add to Mesh”
  • Name the instance
  • Open on the Live Desktop
 Building Mesh Applications – Dev Cycle
  • Development
  • Zip/upload
  • Deploy
  • Rinse & Repeat
    • Now deploy = auto upgrade!
 Upload Requirements
  • Application code
    • JavaScript
    • SilverLight
  • Manifest
  • HTML Start page
  • Logo.png
  • HTML start page
  • Application name
  • Application description
  • ReturnURL (optional)
  • Version
  • Single/Multi Instance allowed
  • Delegated Auth info
  • Default data feeds
 Visual Studio
  • LiveFX Tools
  • Project Templates
    • Mesh enabled web app
    • SilverLight Mesh enabled web app
  • Deployment
  • Debugging

Live Framework Overview

Live Framework Overview
  • Day Two
  • James McClutcheon
  • 9AM
  • The security tokens I was given enables me to access
  • I can do the labs later (only need Visual Studio, the tokens and download the CTP of Mesh)
  • Background
  • What is Live Framework
  • Example Experience
 The state of the world
  • People are increasingly “on-the-go”
  • They are using more devices
  • Connectivity is proliferating
  • Life-styles and work-styles are blending
  • They are working and playing together more digitally
  • => Increasingly Expecting – Demanding – Complete End-to-end Experiences…
 Market & Technology Trends
  • “Experience first” clients
    • iTunes/ITMS
    • Live Photo Gallery / Flickr
    • Live Mail / Photo Mail
    • Office / Office Live Workspace
    • Outlook / Salesforce Outlook Edition
  • Platform point solutions
    • Cloud storage
    • Offline application
    • Device synch and access
    • 3rd party extensibility
  • What if you had one integrated platform designed to support the rich client experience in a standard, open way?
 Getting off the island
  • Connected experience through services and devices working together
  • Connectivity and communication is everything
  • => Live Framework: Connecting devices, data and applications through a consistent, approachable framework
 Live Services
  • User-centric data:
    • Identity
    • Contacts
    • Files
    • Calendar
  • User-centric services:
    • Resource Model: Extensible, user-centric data store
    • Sync: User centric data synchronization
    • App Mgmt: Discover, provision & share apps
    • Device Mgmt: Management of a user’s devices
 Key Concepts
  • Live fx is the uniform way for programming Live Services
    • Any platform
    • Any programming language
    • Any application or device
  • Live fx makes it easy to build software + service applications
  • .NET developers can use the Live fx API Kits to build applications
 Live Framework Design Principles
  • User-centric to the core
  • Software plus Services distributed platform
    • Universal reach + “experience first”
    • Design for humans and code
  • Internet scale
  • Re-use proven assets
 What is Live Framework?
  • Platform
    • Data model and API for a S+S system
    • Integration and symmetry between devices and cloud
  • Service
    • Microsoft’s hosted instance of the Live Framework
  • Software
    • Client runtime for mesh-aware applications
    • Servers for federated Live Framework components
  • Sample application
    • Demonstrating depth of Live Framework enabled by the platform
 Live Framework Scenarios
  • Integrate Live Services into your applications
  • Opt in to as much of the Live Framework as you like
  • Expose your applications as Mesh Applications
  • => Rich + Reach Applications
  • Blockbuster favourites
 Live Framework Nutshell
  • Cloud Services
  • Client Runtime
 Understanding Live Framework: Platform value
  • Key benefits
    • Distributed system for data replication
    • Designed for “optimize online, enable offline” experience
    • Symmetric API for serviceรณservice and app<->service
    • Flexible data model to suit application needs
    • Microsoft-hosted data-centre and operations
    • Guaranteed communications regardless of topology
    • Great tool-ability
  • Target platform applications
    • Traditional client applications (e.g. Office, Photo Gallery, Media Player)
    • New classes of connected applications (e.g. Media Centre, Zune)
    • Rich interactive applications (e.g. New York Times Reader, MetaCafe)
    • Cloud services and universal web applications (e.g. SkyDrive, Flickr)
 Understanding Live Framework: Programming Model
  • APIs: REST
  • Resource Model: Feeds
  • Symmetric client/cloud programming model
  • Strongly typed managed code wrappers for simplified access
  • Pub/sub support for pushing notifications on most resources
 Experience Demos
  • Share file across devices
  • Access apps across the internet
  • Extend windows to the web and web to windows
 Demo Recap
  • Live Folders: Share and synchronize your information automatically across all your connected devices
  • Live Remote: Access to any application or device
  • Live PC: Browser based experience that enables access to your applications and information from anywhere
 Core Tenets
  • Symmetric programming model
  • Protocol based
  • Resource oriented
  • Simple infoset
    • Entities
    • Collections
    • Relationships
  • Standards based
  • Unified model for all Live types
 Resource Model
  • Consists of resources and their relationships
  • Resources
    • Uniquely addressable
    • Based on a simple infoset
    • Can be rendered to various wire representations
  • Relationships
    • Navigatable, can be inlined
  • Uniform access to all Windows Live resources types
    • Contacts, Profiles, News, Activities, Friends
    • MeshObjects (includes Files, Folders, Photos)
    • Devices
    • Applications
 Live Operating Environment
  • Top level container
  • Contains
    • Contact Collection
    • Profiles
    • Mesh
    • Possibly other Live data
  • Available online/offline
  • Owned/Controlled by the user
  • Contains all the information about: Devices, Data, Applications, News aggregation
 Mesh Objects
  • Top level resource container
  • All contained resources are related
  • Unit of permission/distribution
  • Contains: DataFeeds, Mappings, Members, News
  • Unit of synchronization
  • Container for: DataEntry, FeedSync, MediaResource
  • Can contain other DataFeeds to create hierarchy
 Data Entry
  • Smallest unit of data
  • Specifies the actual data being stored
  • Can contain enclosures of application defined schema
  • How do I identify myself?
 Web Applications
  • Cookie token
    • Obtained from Windows Live ID
    • Connects as the user
  • Delegated Authentication
    • Token based
    • User provides consent
    • Has expiration
    • Is Revokable
    • Provides ACL like restrictions
 Smart Client Applications
  • Local Mesh is already authenticated
  • Cloud Mesh
    • App must provide log in dialog
    • App must provide credentials to cloud API
  Live fx Cloud APIs Resource Access
  • Relative URI
  • Optimistic Concurrency
  • HTTP verbs
    • GET
    • PUT
    • DELETE
 GET a resource
  • Retrieves the feed for the resource
  • Common return codes
    • OK
    • Internal Server Error
  • Request Headers
    • Accept
    • ContentLength
    • ContentType
    • IfModifiedSince
    • Authorization
    • Cookie
 PUT a resource
  • Updates the resource
  • Common return codes
    • OK
    • InternalServerError
    • PreconditionFailed
  • Request Headers
    • IfMatch
    • ContentLength
    • ContentType
    • Authorization
    • Cookie
 DELETE a resource
  • Deletes a resource
  • Common return codes
    • OK
    • InternalServerError
    • PreconditionFailed
  • Request Headers
    • IfMatch
    • Authorization
    • Cookie
 OPTIONS for a resource
  • Returns information about the resource
    • Authentication model
    • Concurrency model
    • Whether the resource is subscribe-able
    • Whether the resource is extensible
    • List of supported media types
    • Life of supported query parameters
    • List of relationships for the resource
    • List of supported methods (Verbs)
    • XML Schema Definition (XSD) for the resource
  • Common return codes
    • OK
    • InternalServerError
    • PreconditionFailed
  • Request Headers
    • IfMatch
    • Authorization
    • Cookie
  • The Resource Browser is your friend!
  • But I don’t know ATOM!
  • No problem
 Multiple Formats
  • Feed types available today
    • ATOM
    • RSS
    • JSON
    • POX
  But I have a lot of data!
  • No problem
 Sorting & Filtering
  • Don’t pull all the data down
  • Pre-sort the data
  • Use the power of the server
 Filter Queries
  • Used only on GETs
  • Add clauses to regular queries
 Filter Query Operators
  • Equivalence: eq, ne, gt, lt
  • Boolean: and not, or
  • Output Parameters: orderby, skip, take, top
  Can I automate it?
  • Resource Scripts
 Resource Scripts
  • What are they?
    • Small domain specific language
    • Declarative way to interact with LOE
    • Logical equivalent of batched procedures
  • Why use them?
    • Frees you from the lower level details of the HTTP protocol
    • Improves efficiency
    • Extend the Request processing pipeline with custom business logic
 Resource Scripts
  • Declarative modelling for
    • Control Flow Statements: Sequence, Interleave, Conditional, CRUD
    • Data Flow Statements: Bind statements
  • Run locally or on the server
  • Can run as triggers
  • Serialized as POX or JSON
  • SequenceStatement: Sequentially executes child statements
  • InterleaveStatement: Executes child statements in parallel
  • ConditionalStatement: If… Else… execution
  • CRUD statements: Operate on resources
 Client vs Server
  • Server Side Execution
    • Script.RunAtServer(credentials)
    • Single HTTP request/response
  • Client Side (In Process) Execution
    • Script.Run(credentials)
    • Multiple HTTP requests/responses
    • Each statement generates request
  • Attach to a resource instance
  • Pre and post logic on Create, Update and Delete
  • Examples:
    • Create a thumbnail after an image resource is created
    • Remove a folder if the last child object is removed
 Authoring and Running
  • Create the statement DOM
  • Compile the DOM and generate the ResourceScript instance
  • Execute the ResourceScript instance
  • If a trigger, attach to the resource
 To use the cloud API
  • Understand the Resource Model
  • Use standard HTTP requests
  • Use the format you are comfortable with