Course Materials for “Implementing a Data Warehouse with SQL Server 2014”

Thank you very much for attending my training “Implementing a Data Warehouse with SQL Server 2014”. I hope you gained something and will spread the word on the cool things about SQL Server. As always, feel free to contact me with questions and feedback (ervinloh@yahoo.com).

As agreed, I am sharing the course materials in this post. My sincere apologies for the long wait.

Presentation Slides:
Module 00
Module 01
Module 02
Module 03

Hands-on labs:
implementing-a-data-warehouse-with-sql-server-2014

Lab Files:
https://1drv.ms/u/s!AnF65DzzmC06kD3G4uzlf24rg6n_

Presentation Slides for “Application Performance Monitoring and Diagnostics with Application Insights”

Thank you very much for attending my session “Application Performance Monitoring and Diagnostics with Application Insights” at “First Class in the Air”. I hope you gained something and will spread the word on the cool things about Visual Studio. As always, feel free to contact me with questions and feedback (ervinloh@yahoo.com).

Session Synopsis:
Regardless if you are in development or production, Application Insights delivers a set of services to provide in depth and actionable insight into your application. The services includes global availability and performance, customer usage and deep internal diagnostic information. In this session, you will see how to set up Application Insights in connected scenarios where it will proactively detect issues through email and webhook alerts, perform root cause analysis with ad-hoc queries and full-text search, and integrate with DevOps processes using Visual Studio Team Services.

Presentation Slides:
Application Performance Monitoring and Diagnostics with Application Insights

Presentation Slides for “Build Fundamentals and Continuous Integration”

Thank you very much for attending my session “Build Fundamentals and Continuous Integration” at “First Class in the Air”. I hope you gained something and will spread the word on the cool things about Visual Studio. As always, feel free to contact me with questions and feedback (ervinloh@yahoo.com).

Session Synopsis:
Explore the benefits of handling changes systematically so that your systems maintain integrity over time with Continuous Integration. In this session, you will learn about the benefits of merging all working copies of developers’ code with a shared mainline, producing a new build upon code check-in. Lastly, this session demonstrates and discusses the benefits of running load, integration, and unit tests automatically attached to continuous integration.

Presentation Slides:
Build Fundamentals and Continuous Integration

 

How to interactively simplify polygon and polyline datasets?

Recently, I need simplify a couple of shapefile maps so that they can be loaded into  mobile reports for SQL Server 2016 Reporting Services.

Mapshaper’s web interface comes to the rescue. The latest version of the web interface is online at http://www.mapshaper.org. Mapshaper works in recent versions of Chrome, Firefox, Internet Explorer and Opera. If you encounter out-of-memory errors while editing a large file, try Firefox, which has been used successfully with Shapefiles larger than 1GB.

I am surprised that maps of over 50MB can sometimes be reduced to less than 1MB. It is therefore very useful for creating lighter weight maps suitable for online publishing (for example, for web-based interactive maps). MapShaper also has options for repairing intersections and preventing shape removal.

Simplification recommendations:
I would like to recommend the Visvalingam simplification with a custom weighting for making maps because it generally does a better job of removing details that are too small to be displayed clearly.

Accessing session variables within classes in App_Code

Because ASP.NET pages contain a default reference to the System.Web namespace (which contains the HttpContext class), you can reference the members of HttpContext on an .aspx page without the fully qualified class reference to HttpContext. If you try to access this property within a class in App_Code, the property will not be available to you unless your class derives from the Page Class.

In this case, you can always use a wrapper class around the ASP.NET session to simplify access to session variables.

Sample Code:

public class YourSession
{
private YourSession()
{
Property1 = “default value for property 1”;
Property2 = “default value for property 2”;
Property3 = “default value for property 3”;
}

public static YourSession Current
{
get
{
YourSession session =
(YourSession)HttpContext.Current.Session[“__YourSession__”];
if (session == null)
{
session = new YourSession();
HttpContext.Current.Session[“__YourSession__”] = session;
}
return session;
}
}

public string Property1 { get; set; }
public string Property2 { get; set; }
public string Property3 { get; set; }
}

This above class stores one instance of itself in the ASP.NET session and allows you to access your session properties in a type-safe way from any class. The session properties can be assessed in the following manner:

string property1 = YourSession.Current.Property1;
YourSession.Current.Property1 = new value for property 1″;

string property2 = YourSession.Current.Property2;
YourSession.Current.Property2 = new value for property 2″;

string property3 = YourSession.Current.Property3;
YourSession.Current.Property3 = new value for property 3″;

Presentation Slides for Hybrid Apps: Azure Mobile Engagement and the App Economy

Thank you very much for attending my session “Hybrid Apps: Azure Mobile Engagement and the App Economy” at DevUnited.  I hope you gained something and will spread the word on the cool things about Visual Studio. As always, feel free to contact me with questions and feedback (ervinloh@yahoo.com).

Session Synopsis:
Retention is the name of the game. In this session, you will see how Azure Mobile Engagement helps you improve your key metrics such as collecting real-time analytics which highlights users’ behavior, measuring and acting on analytics using a single dashboard, and sending personalized out-of-app notifications, polls, and in-app notifications with rich HTML.

Source Codes:

https://1drv.ms/u/s!AsVdVASpNN_Rh2OcHo49sbz0l_pc

Presentation Slides:

Hybrid Apps Azure Mobile Engagement and the App Economy (New Template)

Presentation Slides for Integrating Hybrid Apps with Line of Business Apps

Thank you very much for attending my session “Integrating Hybrid Apps with Line of Business Apps” at DevUnited.  I hope you gained something and will spread the word on the cool things about Visual Studio. As always, feel free to contact me with questions and feedback (ervinloh@yahoo.com).

Session Synopsis:
Current mobile apps require tighter integration than ever before, specifically in the services and the data aspect which mobile apps consumes. Many enterprise mobile apps will not be seen on consumer app stores. It focuses on surfacing internal enterprise data from legacy CRM and ERP systems to promote user action on this information. In this session, you will see how to quickly integrate line-of-business apps that manages line of business relationships: Vendors, Distributors, Partners, and Customers as well as being able to track all interactions across these relationships on hybrid apps.

Source Codes:

https://1drv.ms/u/s!AsVdVASpNN_Rh2Lfo8aBBeVmu1vO

Presentation Slides:

Integrating Hybrid Apps with Line of Business Apps (New Template)