Showing posts with label training. Show all posts
Showing posts with label training. Show all posts

Wednesday, September 11, 2013

Teach Yourself Azure in 4 Hours

Learning to use Azure:
  1. Create Web Site - Check
    https://manage.windowsazure.com/?whr=live.com#Workspaces/All/dashboard
  2. Create Database – Check
    https://manage.windowsazure.com/?whr=live.com#Workspaces/SqlAzureExtension/Databases
  3. Upload Project to TFS – Check
    http://tfs.visualstudio.com/
  4. Link TFS to Azure Web Site – Check
    http://www.windowsazure.com/en-us/develop/net/common-tasks/publishing-with-tfs/
  5. Download Azure SDK for Visual Studio 2010 – Check
    http://www.microsoft.com/en-nz/download/details.aspx?id=15658
  6. Download Web Site publication connection settings – Check
    http://www.asp.net/mvc/tutorials/deployment/cse-curated-view-deploy-to-waws
  7. Publish Web Site to Azure – Check
    (see above)
  8. Create Visual Studio VM – Check
    https://manage.windowsazure.com/?whr=live.com#Workspaces/VirtualMachineExtension/vms
  9. Synchronise Local Database Schema to Azure Database - Check.
    http://msdn.microsoft.com/en-us/library/windowsazure/ee730904.aspx
  10. Synchronise Local Database Data to Azure - Check.
    http://www.windowsazure.com/en-us/manage/services/sql-databases/getting-started-w-sql-data-sync/
Not easy, but worth it.
Got inspired by Scott Guthrie’s session on Azure yesterday at Tech Ed 2013, Auckland, NZ.

Sunday, September 27, 2009

Tech Ed 2009 Thank you!

Dear James,

Thank you for attending TechEd 2009!

We really appreciate the effort and commitment that TechEd takes from all of our attendees and thank you for your support during the particularly tough current economic climate.

This year we hosted 128 sessions over 11 tracks and 3 virtual tracks and trust this provided you with confidence in the Microsoft roadmap, and visibility on how Microsoft technology can help to move your business and career forward. 

To maximise your TechEd experience, we are pleased to announce that as a delegate of the event, you will have complimentary access to premium content on TechEd Online. This offers hundreds of hours of breakout sessions from TechEd events around the world and is a great way to check out your favourite session or catch up on any of the sessions you may have missed.  We will notify you by email as soon as your access details have been set up.

Also don’t forget to tell us what you would like to see at future TechEd New Zealand events. Your feedback is critical for our future success so please go to www.msteched.com/newzealand/Public/eval.aspx to complete the evaluation form.  To show our appreciation you will automatically go into the draw to win a HP ProBook 5310. Deadline Wednesday 30 September.

Thanks again for supporting TechEd 2009 and we look forward to seeing you next year!

Kind regards,

Scott Wylie

Director Developer & Platform Strategy

Microsoft NZ Ltd

Code Camp Auckland 2009 – Feedback from attendees

Over on Kirk Jackson’s Page of Words, he gives an overview of the feedback from attendees.  All very positive.

He also released individual speaker’s performances privately to each one of us speakers.  Here’re mine:

Becoming Certified. James Hippolite:

    • Dissatisfied: 1 (3%)
    • Satisfied: 11 (28%)
    • Satisfied++: 19 (49%)
    • Very satisfied: 8 (21%)

It was difficult to follow the structure in the Becoming Certified talk and the Secure Coding Practices talk.

I guess that’s because I had 1/2 an hour to cram 1 hour’s worth of presentation.

Kirk indicated that responses were on average about 50% of attendance, which implies I had 80 people in my talk.  Not bad, woo hoo!

Sunday, September 13, 2009

Who do you have to kill?

…in order to be nominated for an MVP award?

That was the tongue-in-cheek question I posed to a couple of MVP Leads, here at the Microsoft TechEd conference.

Background

I knew that it was awfully bad taste to go seeking this reward for oneself.  That it should be bestowed upon one by others who have recognized your contribution to the community through voluntary efforts.  However, after not being shoulder tapped (after many years of dedicated service, IMHO), I decided to ask the question.

Problem

Turns out, I’d been too generalist.  Which is natural for a New Zealander, but works against you in this case.  Because I’m both Web Dev and DB Dev, I’d been straddling the two streams, and contributing to both camps.  However, the MVP programme is structured along Product lines, and you must demonstrate in-depth knowledge, skill and dedication in that one area, in order to qualify.

Hence, I don’t qualify.

Solution

Question now is, do I want to bother refocussing on only one area?  Or am I basically happy to continue as I am, knowing that that particular gong is out of reach?

Thoughts and/or opinions?

As a matter of interest, the two areas that strike me as interesting, in which I feel I “had a shot” would be VB and/or SQL BI.

Thursday, August 27, 2009

What on Earth have I been up to?

I’ve been busy:

DateTitleVenue
02-Apr-09WebCast: Intro to ORM for DBAsPASS USA
16-Apr-09What’s New in Microsoft SQL ServicesWellington SQL Users
30-Apr-09Microsoft CertificationsAuckland SQL Users
14-May-09How To: Design and Develop Applications to Ensure QualityVUW
26-May-09How To: Design and Develop Applications to Ensure QualityEllerslie .NET Users
14-Jun-09Microsoft Sync FrameworkNZ .NET Code Camp, Porirua
18-Jun-09Microsoft Sync FrameworkWellington SQL Users
15-Jul-09How To: Design and Develop Applications to Ensure QualityWellington .NET Users
30-Jul-09Microsoft Sync FrameworkAuckland SQL Users & Ellerslie .NET Users
04-Aug-09Creation: Why I BelieveMalakai’s Care Group, Wellington Elim
20-Aug-09How To: Design and Develop Applications to Ensure QualitySoftware Quality NZ
13-Sep-09Microsoft CertificationsNZ .NET Code Camp, Auckland
29-Sep-09Creation: Why I BelieveJeannie’s Care Group, Wellington Elim

I’m available for bookings!

Thursday, May 14, 2009

How to: Design and Develop an Application to Ensure its Quality

I gave a presentation last night:

Title

How To: Design and Develop an Application to Ensure its Quality

Audience

Victoria University of Wellington, 3rd year “Software Engineering” students (SWEN 301 = COMP 301)

Attendees

About 30

Date/Time

Thursday 14 May @ 4pm

Slides

Ensuring Quality

Impressions

The first half of my presentation, defining and designing quality, was taken straight out of the book.  Specifically, straight out of the “Analysing Requirements and Defining .NET Solution Architectures” exam.  The second half of my presentation, coding quality, came out of my head and covered training, reviewing and testing.

I could see some heads nodding in agreement as I was speaking, always a good sign.  I could see some heads nodding in weariness, never a good sign.

The question time is always my favourite, because it’s then that I can most accurately gauge whether what I have been saying is “scratching the itch” of the intended audience. 

The first question was along the lines of “great, you’ve told us some more theory, now what about you personally?  What were some of your failures in your career that will help us to avoid pain and embarrassment?”  I won’t record here what I told them in answer, suffice to say it amused them..

The PhD student in the audience had come with slightly different expectations.  I think he was hoping for more concrete examples of measurements and statistics for writing good code.  My rather lame response was that if/when I’m inclined to worry about that kind of thing, then I turn on FxCop to analyse my code for me.

I admitted to being a “lazy coder” in that I enjoy/prefer using objects that I drag onto the page from a toolbox, rather than coding everything by hand.

Definition of terms became important.  I needed to very clearly define “Agile” and “Peer”.  To me, peer programming is not necessarily the Extreme Programming definition of working side-by-side on the same computer.  It just means working as a team on the same project.  To me, Agile just means having many, quick iterations, rather than waterfall software lifecycle methodology.  I hadn’t realised they considered themselves Software Engineers.  To me, there are hardware/network engineers vs. software developers.

Evaluation


Hi James,

Your presentation today was really good. I believe that students love to have you coming from the really world to share your invaluable experience with them. Thank you very much again for your valuable time and your efforts, in particular while you are so busy. I really appreciate it.

Best wishes,
Dr Hui Ma
Lecturer

Sunday, March 29, 2009

Team Focus

MSF Team Envisioning Planning Developing Stabilizing Deploying
Product Management Overall goals; identify customer needs, requirements; vision/scope document Conceptual design; business requirements analysis; communications lan Customer expectations Communications plan execution; launch planning Customer feedback, assessment, sign-off
Programme Management Design goals Solution concept; project structure Conceptual and logical design; functional specification; master project plan and master project schedule, budget Functional specification management; project tracking; updating plans Project tracking; bug triage Solution/scope comparison; stabilization management
Development Prototypes; development and technology options; feasibility analysis Technology evaluation; logical and physical design; development plan/schedule; development estimates Code development; infrastructure development; configuration documentation Bug resolution; code optimization Problem resolution; escalation support
User Experience User performance needs and implications Usage scenarios/use cases, user requirements, localization/accessibility requirements; user documentation/training plan/schedule for usability testing, user documentation, training Training; updated training plan; usability testing; graphic design Stabilization of user performance materials; training materials Training; training schedule management Testing Performance testing; problem
Testing Testing strategies; testing acceptance criteria; implications Design evaluation; testing requirements; test plan/schedule Functional testing; issues identification; documentation testing; updated test plan Testing; bug reporting and status; configuration testing. Peformance testing; problem identification, definition, resolution, and reporting
Release Management Deployment implications; operations management and supportability; operational acceptance criteria Design evaluation; operations requirements; pilot and deployment plan/schedule Rollout checklists, updated rollout and pilot plans; site preparation checklists Pilot setup and support; deployment planning; operations and support training Site deployment management; change approval

Exam 70-300 Objective 7

Tested myself on Exam 70-300 (Analyzing Requirements and Defining Microsoft .NET Solution Architectures) Objective 7 (Creating Standards and Processes) and received 90%.  I've got a bit of study to do, specifically:

  1. Establish standards.  Standards can apply to development documentation, coding, code review, UI, and testing.
    • Release Management is responsible for designing and implementing the solution's deployment plan.
  2. Establish processes.  Processes include reviewing development documentation, reviewing code, creating builds, tracking issues, managing source code, managing change, managing release, and establishing maintenance tasks.  Methods include Microsoft Visual Studio .NET Enterprise Templates.
    • Creatinga Web Setup project is a lot of overhead for deploying a Web application to a server.  Practically, it is better to use XCopy or Copy.
  3. Establish quality and performance metrics to evaluate project control, organizational performance, and return on investment.
    • STRIDE = Spoofing Identify; Tampering Data; Repudiatte Attack; Information Disclosure; Denial of Service; Elevation of Privilege

Exam 70-300 Objective 6

Tested myself on Exam 70-300 (Analyzing Requirements and Defining Microsoft .NET Solution Architectures) Objective 6 (Creating the Physical Design) and received 83%.  I've got a bit of study to do, specifically:


  1. Select the appropriate technologies for the physical design of the solution..
    • Implement Wizard-type app via dialog box (forces sequence)
  2. Create the physical design for the solution
    • Implementation stage: determin a programming model and specify component interfaces, attributes and services
  3. Create the physical design for deployment
    • Release Management: Evaluates infrastructure implications; defines infrastructure requirements; operational requirements; deployes solution
  4. Create the physical design for maintenance
    • Research stage: create physical design, determine constraints; requirements; identify infrastructure changes
  5. Create the physical design for the data model
    • Stored Procedures are not best to implement Business Logic in Data Layer.  COM component and call from data component.
  6. Validate the physical design
    • Scalability requries asynchronous not Load Balancing (which is useful for Availability).

Thursday, March 26, 2009

Exam 70-300 Objective 5

Tested myself on Exam 70-300 (Analyzing Requirements and Defining Microsoft .NET Solution Architectures) Objective 5 (Creating the Logical Design) and received only 37%.  I've got a bit of study to do, specifically:


  1. Create the logical design for the solution.
    • Deliverables are: logical object model; high-lvel UI design; logical data model
    • In UML, parent-child relationship is depicted as a Generalization
  2. Create the logical data model
    • Program manager: drive the logical design deliverables
  3. Validate the proposed logical design
    • Testers: define high-level test plan/ validate logical design against conceptual design
    • Don't use Windows application when you can use Web Service: can log onto it; can activate it via system process.


Exam 70-300 Objective 4

Tested myself on Exam 70-300 (Analyzing Requirements and Defining Microsoft .NET Solution Architectures) Objective 4 (Creating the Conceptual Design) and received only 16%.  I've got quite a bit of study to do, specifically:

  1. Create a conceptual model of business requiremnts or data requirements 
    • The outputs of the Envisioning phase are:  vision/scope doc; projct structure doc; risk assessment doc
    • Conceptual design looks at solution from perspective of user and business
    • Legacy component must be registered (with RegSvr32) first
    • Should create one merge module for each common assembly for deployment to intranet
  2. Validate the conceptual design 
    • Walk-through; role-playing; prototype are techniques to validate concept


Exam 70-300 Objective 3

Tested myself on Exam 70-300 (Analyzing Requirements and Defining Microsoft .NET Solution Architectures) Objective 3 (Developing Specifications) and received 71%.  I've got a bit of study to do, specifically:

  1. Transform requirements into functional specifications.
    • Tasks include: design features; identify cultures (not identify methodologis)
  2. Transform functional specifications into technical specifications 
    • Authentication to identitfy the clients of my application
    • Authorization as the technique to define what authenticated users can do


Wednesday, March 25, 2009

Exam 70-300 Objective 2

Tested myself on Exam 70-300 (Analyzing Requirements and Defining Microsoft .NET Solution Architectures) Objective 2 (Gathering and Analyzing Business Requirements) and received only 46%.  I've got a bit of study to do, specifically:

  1. Gather and analyze business requirements
    • At the end of the planning phase, you complet ethe functional spec.
    • Current functionality; ID of business rule; Authority = busines rules catalog.
  2. Gather and analyze user requirements
    • User instruction; Surveys; Shadowing = user gathering info techniques
    • How about interruptions; can you resume?  What decision to start? = Typical questions
  3. Gather and analyze operational requirements
    • Behavioural view = the dynamic or changing state fo the system
    • Stabilizing phase = you identify, prioritize and resolve issues
  4. Gather and analyze requiremees for hardware, software, and network infrastructure
    • Develop wrong system, Define wrong reqs, Build wrong team, Budget over = risks of not creating functional spec



Exam 70-300 Objective 1

Tested myself on Exam 70-300 (Analyzing Requirements and Defining Microsoft .NET Solution Architectures) Objective 1 (Envisioning the Solution) and received only 57%.  I've got a bit of study to do, specifically:
  1. Develop a solution concept
    • Business goals represent what the customer wants to achieve through the solution.
    • Solution Concept consists of: initial approach; success factors; security requirements; initial functionality
    • Envisioning: User profiles; purpose and direction; usage scenarios
    • Envisioning = Project Structure; Risk Assessment; Vision/Scope (not Functional Spec).
  2. Analyze the feasibility of the solution
    • Vision/scope document contains list of features that have been excluded from scope (not the Functional Spec).
  3. Analyze and refine the scope of the solution project
    • The Project Structure doc typically includes administrative structure of the team, deliverables of the team and tentative schedule.
    • Logical design consist of: define solution; illustrate how it works; prove framework
  4. Identify key project risks
    • Final Decision Maker: Program Management (not Project Management)
    • Program Manager: create list of needed resources; compare to existing; decide how to acquire

Sunday, March 22, 2009

What are in each Phase of the MSF Model?

Microsoft Solutions Framework (MSF)
  • is a set of models, principles and guidelines for designing applications.
The MSF Process Model
  • is a combination of the waterfall and spiral process models
  • is a milestone-based, iterative approach to developing solutions.
Phase Envisioning Planning Developing Stabilizing Deploying
Tasks

Setting up the team; Defining the project structure; Defining the business goals; Assessing the current situation; Creating a vision statement and defining the scope of the project; Defining requirements and user profiles; Developing a solution concept; Assessing risk; Closing the envisioning phase



Developing the solution design and architecture; Creating the functional specification; Developing project plans; Creating project schedules; Creating the development, testing and staging environments; Closing the planning phase



Starting the development cycle; Creating a prototype application; Developing the solution components; Building the solution; Closing the developing phase



Testing the solution; Conducting the pilot



Completion of deployment and operations procedures; Deployment and stabilization; Project review


Interim milestones

Core team organized; Vision/scope created



Technology validation complete; Functional specification complete; Master plan complete; ster project schedule complete; Development and test environments set up



Proof-of-concept application complete; Internal builds complete



Bug convergence; Zero-bug release; Release candidates; Golden release



Core components deployed; Site deployments complete; Deployment stable


Deliverables

Vision/scope; Project structure; Risk assessment



Functional specification; Risk management plan; Master project plan and master project schedule



Source code and executable files; Installation scripts and configuration settings for deployment; Finalized functional specifications; rformance support elements; Test specifications and test cases



Final release; Release notes; Performance support elements; Test results and testing tools; Source code and executable files; Project documents; Milestone review



Operation and support information systems; Documentation repository for all versions of documents and code developed; A training plan; Project completion report


Major Milestone Vision/Scope Approved Project Plan Approved Scope Complete Release Readiness Deployment Complete

Monday, February 23, 2009

Exam 70-442 Objective 5

Tested myself on Exam 70-442 (Designing and Optimizing Data Access by Using Microsoft SQL Server 2005) Objective 5 (Performance Tuning a Database and a Database Application) and received only 32%.  I've got a bit of study to do, specifically:
  1. Optimize and tune queries for performance
    Creating Partitioned Views
    Table Hints (Transact-SQL)
    SET ANSI_PADDING (Transact-SQL)
    Introducing SQL Trace
    max degree of parallelism Option
  2. Optimize indexing strategies
    XML Best Practices
    Planning Guidelines for Partioned Tables and Indexes
    Creating Partitioned Tables and Indexes
  3. Scale database applications
    Creating Distributed Partitioned Views
  4. Resolve performance problems
    Dynamic Management Views and Functions (Transact-SQL)
    Performance Optimizations for the XML Data Type in SQL Server 2005
    sys.dm_os_wait_stats (Transact-SQL)
  5. Optimize data storage
    Data Normalization

MCITP Self-Paced Training Kit (Exam 70-442): Designing and Optimizing Data Access by Using Microsoft  SQL Server(TM) 2005 (Self-Paced Training Kits)

Exam 70-442 Objective 4

Tested myself on Exam 70-442 (Designing and Optimizing Data Access by Using Microsoft SQL Server 2005) Objective 4 (Designing a Transaction Strategy) and received 100%.  However, I've still got a bit of study to do, specifically:
  1. Manage concurrency by selecting the appropriate transaction isolation levels
  2. Design the locking granularity level
  3. Design transaction scopes
  4. Design code that uses transactions
    Optimization using Single Phase Commit and Promotable Single Phase Notification
    Committing a Transaction in Single-Phase and Multi-Phase
    Enlisting Resources as Participants in a Transaction
    Transaction Management Escalation

MCITP Self-Paced Training Kit (Exam 70-442): Designing and Optimizing Data Access by Using Microsoft  SQL Server(TM) 2005 (Self-Paced Training Kits)

Exam 70-442 Objective 3

Tested myself on Exam 70-442 (Designing and Optimizing Data Access by Using Microsoft SQL Server 2005) Objective 3 (Designing Error-Handling Routines) and received only 78%.  I've got a bit of study to do, specifically:
  1. Design code that validates input data and permissions
  2. Design code that detects and reacts to errors
  3. Design user-defined messages to communicate application events
    FETCH (Transact-SQL)

MCITP Self-Paced Training Kit (Exam 70-442): Designing and Optimizing Data Access by Using Microsoft  SQL Server(TM) 2005 (Self-Paced Training Kits)

Exam 70-442 Objective 2

Tested myself on Exam 70-442 (Designing and Optimizing Data Access by Using Microsoft SQL Server 2005) Objective 2 (Designing a Database Query Strategy) and received only 60%.  I've got a bit of study to do, specifically:
  1. Write and modify queries
    Declarative Security Used with Class and Member Scope
  2. Design queries for retrieving data from XML sources
    How To: Use Role Manager in ASP.NET 2.0
  3. Design a cursor strategry
    DECLARE CURSOR (Transact-SQL)

MCITP Self-Paced Training Kit (Exam 70-442): Designing and Optimizing Data Access by Using Microsoft  SQL Server(TM) 2005 (Self-Paced Training Kits)

Sunday, February 22, 2009

Exam 70-442 Objective 1

Tested myself on Exam 70-442 (Designing and Optimizing Data Access by Using Microsoft SQL Server 2005) Objective 1 (Designing Efficient Access to a SQL Server Service) and received only 46.8%.  I've got a bit of study to do, specifically:
  1. Design appropriate data access technologies
    ServerConnection Class
    Special Considerations When Using Query Notifications
    Query Notifications in ADO.NET 2.0
    Database Administrator's Guide to SQL Server Database Engine .NET CLR Environment
    Connecting to an Instance of SQL Server
    ADO.NET Architecture
  2. Design an appropriate data access object model
    Updating an Application to SQL Server Native Client from MDAC
    Using ADO with SQL Server Native Client
    Using Row Versioning-based Isolation Levels
    Understanding Row Versioning-Based Isolation Levels
    Row Versioning Resource Usage
  3. Design a cursor strategy for a data access component
    DECLARE CURSOR (Transact-SQL)
  4. Design caching strategies
    ASP.NET Caching Overview
  5. Design client libraries to write applications that administer a SQL Server service
    Configuring SQL Server in SMO
    A Technical Comparision of Replication and Remote Data Access Features in SQL Server 2005 Mobile Edition 3.0
    How to: Implement a Business Logic Handler for a Merge Article (Replication Programming)
    How to: Programmatically Monitor Replication (RMO Programming)
    Microsoft.SqlServer.Replication Namespace
    Replication Management Objects Concepts
  6. Design queries that use multiple active results sets (MARS)
    Multiple Active Result Sets (MARS) in SQL Server 2005

MCITP Self-Paced Training Kit (Exam 70-442): Designing and Optimizing Data Access by Using Microsoft  SQL Server(TM) 2005 (Self-Paced Training Kits)