Wednesday, April 25, 2007

From: Darryl
Sent: Thursday, 19 April 2007 10:13 p.m.
To: James Hippolite

Hey dude,
I know you have kids, but I dont know what ages they are. Regardless, you might be able to fill in a survey for me on the topic of text bullying.
I'm trying to figure out what the size of the problem is and whether an idea I have will resolve it.
If you know anyone who has kids with mobile phones, could you please pass this on and ask them to fill in the survey too? I'm aiming for 1000 responses.
Thanks for your help!
Kind Regards

Tuesday, April 24, 2007

Minutes from SQL Server Users Group Meeting

Patrick Okeefee

Product Architect for Quest Software’s spotlight on SQL Server product family

What problem are we trying to solve?

We are trying to get the best performance and the most efficiency from SQL Server

We are in this situation because…

  • Reactive – resource contention (CPU, I/O) is cause problem right now
  • Proactive – Aim I getting the best efficient from my workload? Will my application scale?

A SQL Server that is idle has no performance problems.

It is only when it executes the SQL in your application (or workload) that problems manifest.

Only by understanding how your application…

Where do I start?

In order to solve this problem we need a simple set of steps to follow:

  • Optimise application demand
  • Minimise logical I/O
  • Optimise physical IO (lather, rinse and repeat)

Most “bang for the buck” effort-wise is to be found in the first two steps. Then, iterate.

Within each of the three steps, there are three practical steps that can be taken…

  1. identify bottlenecks
  2. find the workload that is causing the bottleneck
  3. fix the bottleneck

How do you find the bottlenecks?

  1. customer phones; or
  2. monitoring is better

What kind of bottlenecks should I be looking for?

What data do I collect?

  • Advice like the following free on the internet – “if counter x says y it means you have memory pressure so you should add more memory”
  • It’s worth what you paid for it…
  • Counters, states etc. are a means to an end – what you really care about is how your workload …

Do I have a CPU bottleneck?

  • Performance Counters
  • Signal waits > 25% total waits
  • 2000 – dbcc sqlperf

What is a wait?

  • In a multithreaded server (like SQL Server), data flows from one subsystem to another and resources like disk, memory and CPU are shared.
  • When one worker thread (the one that is processing some user’s SQL) wants to access some shared resource, other threads have to wait.
  • Signal wait occurs when a thread has been granted access to the resource it was waiting on and is now waiting for CPU time.

CPU bottleneck Cause #1

  • Query Execution
  • We need the Top 5 CPU Consumers on the server
  • On SQL 2000 use a profile trace or a delta on …
  • On SQL 2005 query sys.dm_exec_query-stats cross apply sys.dm_exec_sql_text(qs.sql_handle)

CPU Bottleneck Cause #2

  • Low Plan Reuse
  • (Batch Requests – SQL Compilations) / Batch Requests
  • Hard to pin down specifically – more a general problem. Need to:
    • Look at how end users are submitting queries
    • Look for applications not using prepared statements (code snippets online set bad examples)
  • Excessive Recompilation (SQL Server 2005)

Memory bottlenecks

  • Assuming SQL Server is not starved of physical memory (i.e. no swapping), and we are re-using plans – from an application viewpoint, we are mostly interested in buffer cache behaviour
  • In OLTP applications, buffer cache bottlenecks are closely related to IO bottlenecks
  • Buffer Manager/Page Life Expectancy > 300 seconds is good

Memory Bottlenecks

Finding the top objects in the buffer cache

  • On SQL 2000 query syscacheobjects
  • On SQL 2005 query sys.dm_os_buffer_descriptors

IO Bottlenecks

  • Physical Disk Performance Counters
    • Avg. Disk Queue Length, Avg. Disk Sec/Read etc
    • Don’t forget to adjust for RAID
  • PAGEIOLATCH_* waits
    • 2000 – dbcc sqlperf(waitstats)
    • 2005 – select * from sys.dm_os_wait_stats

IO Bottleneck Cause #1 – Query Execution

We need the Top 5 IO Consumers on the server:

  • On SQL 2000 use a profiler trace – store results to a database table and query
    • (Looking for workload that does large average numbers of logical reads).
  • On SQL 2005 use sys.dm_exec_query_status
    • Look for queries with high average IO
    • this means this query is reading lots of rows
    • Ask the question – is this required?
  • Us equerries on sys.dm_dbindex_operational_stats to identify indexes that when read, required a physical IO
  • You can then XPath queries on sys.dm_exec_cached_plans to find workload using those indexes

Lock (and other) Contention

  • Contention usually manifests as blocking
  • Two common types
    • Environment related (waiting on WRITELOG or PAGEIOLATCH_* for example)
    • Application related (waiting on LCK_M_U for example)
  • Detecting blocking
    • On SQL 2000 use a query on the sysprocesses table to find spids that are blocked
    • On SQL 2005 use sys.dm_os_waiting_tasks
  • Patterns to look for
    • Single long wait
    • Large number of waits on single resource – “hotspot”
    • Large numbers of waits on large numbers of resources
    • All of the above chained together


  • Spotlight on SQL Server encapsulates all we talked about today…
  • Dashboard monitoring application

Minutes from MS Architects Forum

The Aspiring Architect

Content Management and Search Gadgets

Daryl Chantry
Architecture Strategy Team (Redmond)

Thursday 19 April 2007

Microsoft Wellington, Level 12 Mobil on the Quay


FY08 begins 1 July 2007

Skills, Knowledge & Desire

What we will discuss

  • What is Architecture?
  • What is an Architect?
  • Architect Roles
  • Architect Levels
  • Becoming a certified Architect
  • Tools for Training
    • Gadgets
    • Community Content

What is Architecture?

  • Architecture is the art and science of designing buildings and structures
  • The inclusion of aesthetic principles distinguishes architecture from applied science or engineering, which usually concentrate more on the functional and feasibility aspects of a design, rather than the user experience.

What is an Architect?

  • The illiterate of the 21st Century are not those that cannot read or write. They are those that can not learn, unlearn, and relearn. – Alvin Toffler
  • Virtual Scenario
    • Individual
    • Company
    • Customer

Architect Roles

  • Enterprise
  • Infrastructure
    • Physical Network
    • Security
    • Storage
    • Network OS
    • Application Platform
    • etc
  • Solutions
    • Integration
    • Work Flow
    • Application
    • Purchased Applications
    • etc

Architect Levels

  • Aspiring
  • Associate
  • Microsoft Certified
    • Solutions
    • Infrastructure
    • Messaging

Becoming an Architect – Training Problem

  • Solution Architect (a to z)
  • Infrastructure (same)
  • E.g. Deployment of components requires a base understanding of network and server deployment.

Associate Architect

  • Architectural Concepts and Process
    • What is software/infrastructure architecture
    • Patterns, frameworks, methodologies
    • Te architecture process
  • Non functional Architecture
    • Scalability, Performance, Security, Resiliency, Failure Prevention
  • Functional Architecture
    • Architectural Patterns, Integration patterns, Data patterns
  • Specific Topics solution / Infrastructure
  • Business Technology Strategy
  • Communication, Leadership, and Organizational Dynamics

MCA Certification

  • Create a certification that assures our customer an MCA:
    • Is a successful, practicing architect
    • Can speak the language of business, architecture, and technology
    • Can provide predictability to IT and success on IT projects
    • Takes a vendor neutral stance to creating architecture

MCA Practicing Architect

  • Have driven projects through the IT lifecycle
  • Complex projects – multiple points of integration, multiple technologies
  • Large Projects
    • Enterprise impact
    • Strategic to the organisation

MCA Multilingual

  • Can speak the language of business
    • Translate business problem to technical solution
    • etc

MCA Predictable Results

  • Know where you fit into an enterprise framework and how to leverage it (TOGAF, Zachman, etc.)
  • Know and employ methodologies to drive your project through the lifecycle (MSF, XP, Scrum, Waterfall, RUP)
  • Leverage patterns
  • Know operational frameworks, how to provision for multiple management tools, train users, helpdesk

MCA Trusted Advisor

  • Identify the existing environment
    • What’s there; what can be leveraged
  • Identify the business requirements and goals
    • Business advantage? Migrate? Green field?
  • Identify…

MCA Candidate Commitment

  • Six months
  • AU$10,000

Tools – Community Content

Authoring and Content Management Processes

  • Flexible Content Management Framework
    • Document Storage, Authoring, Approval, Publishing
    • Close integration with Office Applications
  • Powerful Content Management Workflows
    • Built-in workflows
    • SharePoint Designer workflows
    • Visual Studio workflows

  • All Aspiring Architect content
  • Articles expire – must be maintained

Windows Vista – Gadgets

  • Mini Applications
    • Easy to use
    • Information at a glance
    • Simple to develop and customize

Gadget Deployment

  • Individual
  • Partner System
  • Customer System
  • Microsoft Content Management System

MS architect Forum Wellington, Thurs 19 April at 4:00pm

From: Mark Carroll (NZ)

Sent: Wednesday, April 18, 2007 11:18 PM
To: Mark Carroll (NZ)
Subject: MS architect Forum Wellington, Thurs 19 April at 4:00pm


Thank you for your RSVP for attending this session.

Details from the invitation are reproduced below for your convenience.

See you at 4:pm.


Venue Details:

When is the Event: 4:00pm Thursday 19 April 2007

Where is the Event: Microsoft’s Wellington offices, Mana Room - Level 12 Vodafone on the Park (formerly Mobil House), 157 Lambton Quay (the building behind Midland Park)

Background: When Ron Jacob’s came to NZ last December he created a lot of interest around the ‘Aspiring architect’s’ programme. In this architect forum we continue on with that theme with Darryl Chantry and we also want you stay around for some refreshments afterwards to talk about the Architect’s programme we have been running in NZ for the last three years. We want to get your feedback and insights into the kind of architect community and resources that can really make a difference and add value to both your organisation’s goals and your own personal career goals.

Part 1: Darryl Chantry on the Microsoft Aspiring Architect’s Program

At Microsoft we see aspiring architects as being developers, business analysts, or other IT professionals who want to learn more about architecture.

Some of the questions we get asked include:

1. What is architecture?

2. What does an architect do?

3. How do I become an architect?

4. Why would I want to be an architect?

5. What other architects are out there? (Who should I be following?)

6. Where should I be reading about architecture?

The Aspiring Architects have received little attention by the IT Industry, which has lead to a substantial shortfall in information this group can use for career development and growth. Given the lack of information currently available in the industry the Aspiring Architect Program has been created to address this issue.

In this presentation we will be discussing the questions listed above and looking at the tools and resources Microsoft will be making available to the aspiring architect. This talk will not only be for those wishing to become architects but also for anyone interested in training people to become architects. The presentation will also provide an opportunity for the attendees to talk over specific issues they may have in finding information relevant for the Aspiring Architect and to provide feedback and suggestions on what they would like to see included in future revisions of the Aspiring Architect’s program.

Part 2 (Over refreshments) Mark Carroll & Darryl Chantry on the NZ Microsoft Architect’s Program.

For the last three years we have been running architect events, including forums such as this, on a regular basis. The numbers attending these events have steadily risen over time in Auckland, Wellington and Christchurch. Over the same period we believe that the resources in terms of best practices guidance and experiences shared by others available from both NZ sources and internationally have increased dramatically. We are looking for your opinions and suggestions on what we currently do that works and what could be made to work better. This is an interactive forum and we would like you to bring along your opinions and preferences.

About the Presenters:

Darryl Chantry.

Darryl joined Microsoft in 2002 as the Architect for the New Zealand Development platform and Strategy group, primarily working in the public sector. During his time in New Zealand, Darryl played a key role in helping customers understand architects, and architecture, and highlighting the importance of both within the enterprise. In 2004 Darryl moved to Microsoft Australia as an Architect working predominantly in the communications sector. In Australia Darryl worked as an Enterprise, Solutions, and Infrastructure Architect and subsequently has developed a broad skill set as an Architect. Darryl moved to Microsoft Redmond in January of 2007 with his wife Melanie and their two Burmese cats Kito and Hoshi. Darryl’s new role within Microsoft is building a global Aspiring Architect program (AsAP) to provide guidance and assistance for anyone wishing to explore a career as an IT Architect.

Mark Carroll.

I have been the Architect for the New Zealand Development platform and Strategy group since pretty much when Darryl left for Australia in 2004 after my incessant barbing about North Harbour’s performance in the Super12. Most of you already know me from Microsoft and wider industry events usually focused on architecture or my other pet passion application lifecycle management. Another passion of mine (besides Architecture, Application Life cycle management and Rugby Union) is making sure that NZ architects and those folk who wish to become one get a fair go even if we live at the bottom of the South Pacific. That’s why we need a ‘world class’ architect community with ‘world class content’ and ‘world class’ candidates to keep architecture alive and vibrant here. Your feedback and comments will help maintain and develop both the architect community and our content. So bring yourself and bring your aspiring architects !

The forum will last for approximately one and a half hours.

Event interest rating:

Infrastructure Architects ****

Solutions Architects ****

Senior Developers and Team leaders ****

Enterprise & Strategic architects ****

The forum will last for approximately one and a half hours.

Event interest rating:

Infrastructure Architects ***

Solutions Architects ***

Senior Developers and Team leaders ***

Enterprise & Strategic architects ***

Mark Carroll Architect Developer & Platform Strategy Group Microsoft New Zealand Ltd

DDI: +64-4-8164017 MOB: +64-21-762-525 Fax: +64-4-473-2676 Blog:

> The Microsoft Architecture Resource Centre –

> 20% Discount off Visual Studio Team Suite* -

> Register today for Microsoft Tech.Ed 2007 in Auckland – (

Thursday, April 19, 2007

Passed Exam 70-528

  • After failure to pass exam 70-551: UPGRADE MCAD Skills to MCPD Web Developer by Using the Microsoft .NET Framework (which incorporates all three exams 70-528, 70-536 & 70-547) on Thursday, 8 February 2007.
  • Sat and passed exam 70-528: Technology Specialist Microsoft .NET Framework 2.0 - Web-Based Client Development on Wednesday 18 April 2007.
  • 45 questions
  • Passing Score: 700 (out of 1000)
  • My Score: 735
  • Sectional Results:
    1. Creating and Programming a Web Application (estimate 75%)
    2. Integrating Data in a Web Application by Using ADO.NET, XML, and Data-Bound Controls (est. 50%)
    3. Creating Custom Web Controls (est. 70%)
    4. Tracing, Configuring, and Deploying Applications (50%)
    5. Customizing and Personalizing a Web Application (est. 80%)
    6. Implementing Authentication and Authorization (est. 75%)
    7. Creating ASP.NET Mobile Web Applications (100%)
  • This exam was substantially harder than I was lead to believe by the MeasureUp Practice tests.
  • Two down, three to go:
    • 70-536 + 70-528 together give me a Technology Specialist (Web Developer) Cert.
    • 70-547 to complete the Professional Developer cert
    • 70-431 to gain me a Technology Specialist (SQL Server 2005) cert
    • 70-447 to upgrade my SQL DBA to MCITP: DBA
  • Friday, April 13, 2007

    Passed Exam 70-536

    • After failure to pass exam 70-551: UPGRADE MCAD Skills to MCPD Web Developer by Using the Microsoft .NET Framework (which incorporates all three exams 70-528, 70-536 & 70-547) on Thursday, 8 February 2007.
    • Sat and passed exam 70-536: Technology Specialist Microsoft .NET Framework 2.0 - Application Development Foundation on Wednesday 11 April 2007.
    • 45 questions
    • Passing Score: 700 (out of 1000)
    • My Score: 824
    • Sectional Results:
    1. Developing applications that use system types and applications (estimate 55%)
    2. Implementing service processes, threading, and application domains in a .NET Framework application (est. 75%)
    3. Embedding configuration, diagnostic, management, and installation features into a .NET Framework application (est. 60%)
    4. Implementing serialisation and input/output functionality in a .NET Framework application (100%)
    5. Improving the securityof .NET Framework applications by using the .NET Framework 2.0 security features (est. 80%)
    6. Implementing interoperability, reflection, and mailing functionality in a .NET Framework application (est. 50%)
    7. Implementing globalization, drawing, and text manipulation functionality in a .NET Framework application (100%)
    • I'm very happy with the training I received from Chris Barker @ Auldhouse last week.
    • Now for the other two exams!