# Saturday, February 29, 2020

GravitysRainbowIt is near the end of World War II and the Germans have apparently developed a new weapon of unknown capability with the unlikely serial number "0000".

The allies are looking for it, while they analyze the pattern of bombs dropping on London. One pattern they cannot understand is why a bomb consistently falls on a location a few days after US Army Lt. Tyrone Slothrop has sex in that location. Eventually, Lt. Slothrop is sent to Germany to search for this mysterious weapon. On his journeys, he disguises himself as a superhero and as a pig.

Gravity's Rainbow by Thomas Pynchon follows Slothrop on his mission to find the bomb. But it does not take us on a straight line through his quest. Pynchon introduces us to hundreds of characters - many tangential or completely irrelevant to the story; and he weaves dozens of subplots - many of which have little to do with the broader narrative.

In between, we a lot of sex happens and a bit of scatology and some incest and a story of a sentient, immortal light bulb. It's often entertaining, but all very confusing.

Many parts of the novel are very well-written - told with humor and satire and emotion. The challenge is tying them together. I trust that Pynchon accomplished this, but he makes it a major challenge for the reader to recognize how he did so. Characters are introduced, then disappear for hundreds of pages, before they reappear.

The book was too long and complex for me to enjoy as a whole. It felt like a mashup of disconnected scenes.

This seems like the kind of novel one needs to read multiple times in order to appreciate. At some point, I may return to it and re-evaluate it; but, its nearly 800-page length and the pile other books awaiting my attention will delay that - maybe forever.

Saturday, February 29, 2020 9:03:00 AM (GMT Standard Time, UTC+00:00)
# Thursday, February 27, 2020

GCast 75:

Creating an Azure SQL Server Logical Server

How to create a logical SQL Server in Microsoft Azure.

Thursday, February 27, 2020 9:19:00 AM (GMT Standard Time, UTC+00:00)
# Monday, February 24, 2020

Episode 599

Bryan Glenn on the Right Mindset for Success

Bryan Glenn is a technology entrepreneur. His upcoming book "Life Adds Up" talks about thea characteristics necessary to acheive success. Bryan shares stories of successful people like Bill Gates and Albert Einstein, as well as lessons from his own life.

http://capitalglenn.com

Monday, February 24, 2020 9:27:00 AM (GMT Standard Time, UTC+00:00)
# Saturday, February 22, 2020

TheCorrectionsJonathan Franzen's 2001 novel "The Corrections" tells the story of a family that has lost its way. Alfred and Enid Lambert still live in their home in Iowa, but their three adult children have moved to New York and Philadelphia. The children initially enjoyed some success, but each has fallen hard in recent years.

Oldest son Gary has achieved financial success as a banker but is trapped in a loveless marriage in which he and his wife consistently torture one another emotionally. He struggles with alcoholism and depression.

Chip was a college professor until he was fired for sleeping with and then stalking one of his students. He tries to pull himself out of debt by assisting a corrupt Lithuanian politician scam people via the Internet.

Denise’s career as a famous chef is undone by a disastrous affair.

Patriarch Alfred is a retired engineer for a Midwestern railroad. His entire life, he has been hard-working and independent and in control. But Parkinson's and Alzheimer’s are now robbing him of that control.

Matriarch Enid tries desperately to keep her family together, inviting everyone home for "one last Christmas", while she tries to care for Alfred. Enid is easily the most sympathetic of the family. Her marriage to the emotionally unavailable Alfred has been unsatisfying, but she stayed with him; and her adult children have all but abandoned her, but she still loves them. Still, her efforts to control the lives of everyone in the family and heap guilt on her children prevent the reader from admiring her too much.

This novel grabbed me early and held me throughout. Franzen introduces each family member, shows or hints at their current problems - then takes us back in time to show us how they fell to where they are now.  He gradually reveals their lives and characters and motivations, and the fatal flaws that toppled them. Each character lives in denial of the seriousness of their problems. Each major character is damaged, but each has enough redeeming qualities that the reader pulls for them. They seemingly cannot resist acts of self-destruction.

Even the minor characters are interesting. I loved the neurotic Robin, who blamed herself for the violence chosen by her sociopath brother. And the pill-pushing cruise ship doctor reminded me of a used car salesman and had me laughing out loud. These characters exist to reflect the Lambert family, but Franzen took the time to give them shape, without distracting from the main story.

The Corrections is humorous and absurd and touching and tragic; and in the end, as the characters each experience their corrections, gives us hope for the future.

Saturday, February 22, 2020 9:46:00 AM (GMT Standard Time, UTC+00:00)
# Thursday, February 20, 2020

GCast 74:

Continuous Deployment with Azure DevOps

Implement continuous integration and continuous deployment by automatically triggering build and deploy pipelines when code is committed to a repository branch.

ALM | Azure | DevOps | GCast | Screencast | Video
Thursday, February 20, 2020 8:17:00 AM (GMT Standard Time, UTC+00:00)
# Tuesday, February 18, 2020

Azure Logic Apps allow you to create scalable workflows hosted in the cloud. Although each Logic App is self-contained, it is often helpful to share artifacts such as maps, schemas, and certificates among multiple Logic Apps.

An Azure Integration Account provides a container for storing these artifacts.

Creating an Integration Account

To create an Integration Account, navigate to the Azure Portal [https://portal.azure.com], sign in and click the [Create a resource] button (Fig. 1).

IA01-CreateResourceButton
Fig. 1

Search for and select "Integration Account", as shown in Fig. 2.

IA02-FindIntegrationAccount
Fig. 2

The "Integration Account" information page displays, as shown in Fig. 3.

IA03-IntegrationAccountIntro
Fig. 3

Click the [Create] button to display the "Create Integration Account" blade with the "Basics" tab selected, as shown in Fig. 4.

IA04-IntegrationAccountBasics
Fig. 4

At the "Resource group" field, select or create a resource group in which to store this Integration Account.

At the "Integration account name" field, enter a unique name for this Integration Account.

At the "Location" dropdown, select the region in which to store this account. This should be the same region in which your Logic Apps are located.

At the "Pricing Tier" dropdown, select which pricing tier you wish to use. The options are (in increasing order of cost) "Free", "Basic", and "Standard". Only one Free Account is allowed per Azure Subscription. You can change this setting after creating an Integration Account.

Click the [Review + create] button when you have completed this tab. The "Review + create" tab displays, as shown in Fig. 5.

IA05-ReviewCreate
Fig. 5

Review your choices. Switch back to the "Basics" tab if you need to make any corrections. Click the [Create] button to create the Integration Account.

After Azure creates the Integration Account, the "Your deployment is complete" message displays, as shown inf Fig. 6.

IA06-YourDeploymentIsComplete
Fig. 6

Click the [Go to resource] button to open the Integration Account, as shown in Fig. 7.

IA07-IntegrationAccountOverview
Fig. 7

Here you can manage reusable Schemas, Maps, and other Components.

Associating a Logic App with an Integration Account

An Integration Account can be associated with one or more Logic Apps, making components in the Integration Account available to each of these Logic Apps.

See this article to learn how to create a Logic App.

To associate a Logic App with an Integration Account, open the Logic App. The left menu of a Logic App is shown in Fig. 8.

IA08-LogicAppsLeftMenu
Fig. 8

Click the [Workflow settings] button (Fig. 9) under the "Settings" section of the left menu to open "Access control configuration" blade, as shown in Fig. 10.

IA09-WorkflowSettingsButton
Fig. 9

IA10-WorkflowSettings
Fig. 10

At the "Integration account" dropdown, select the Integration Account you wish to associate with this logic app, as shown in Fig. 11.

IA11-SelectIntegrationAccount
Fig. 11

Click the [Save] button (Fig. 12) at the top of the blade to save this configuration.

IA12-SaveButton
Fig. 12

You are now ready to use the artifacts in the Integration Account with this Logic App.

Tuesday, February 18, 2020 9:26:00 AM (GMT Standard Time, UTC+00:00)
# Monday, February 17, 2020

Episode 598

Jean Lange on Building Skills with Improv games

Jean Lange runs a workshop that uses games and improvisation to help people learn important skills when working with a group. Participants learn to communicate and to accept failure.

https://www.academypgh.com/

Monday, February 17, 2020 9:27:00 AM (GMT Standard Time, UTC+00:00)
# Friday, February 14, 2020

With a Logic App, you can create and run scalable workflows that are hosted in the Azure cloud. A graphical designer and connectors to hundreds of databases, APIs, and external applications and services make it possible to quickly create a workflow using Logic Apps.

To create a new Logic App, navigate to the Azure Portal, sign in and click the [Create a resource] button (Fig. 1).

LA01-CreateAResource
Fig. 1

Select Integration | Logic App, as shown in Fig. 2.

LA01-NewIntegrationLogicApps
Fig. 2

The "Create Logic App" blade with the "Basics" tab selected, as shown in Fig. 3.

LA03-NewLogicAppBlade
Fig. 3

At the "Resource group" field, select or create a resource group in which to store this Logic App.

At the "Logic App name" field, enter a unique name for this Logic App.

At the "Location" dropdown, select the region in which to store this Logic App.

Click the [Review + create] button when you have completed this tab. The "Review + create" tab displays, as shown in Fig. 4.

LA04-ReviewCreateTab
Fig. 4

Review your choices. Switch back to the "Basics" tab if you need to make any corrections. Click the [Create] button to create the Integration Account.

After Azure creates the Logic App, the "Your deployment is complete" message displays, as shown in Fig. 5.

LA04-ReviewCreateTab
Fig. 5

Click the [Go to resource] button to open the Start Page of your Logic App, as shown in Fig. 6.

LA06-LogicAppStart
Fig. 6

On the start page, a video is available if you want a brief introduction to Logic Apps.

Below the video is a set of buttons that allow you to create a new workflow with a common trigger. A trigger is an action that starts a Logic App workflow.

The next section lists buttons for templates to perform some common tasks. Each template contains a trigger and one or more actions.

These buttons help to accelerate your development by providing some of the activities in a workflow and allowing you to fill in the specific properties.

Fig. 7 shows the Logic App designer after you select the HTTP Request-Response template.

LA07-LogicAppsDesigner
Fig. 7

In this article, you learned how to create a new Logic App.

Friday, February 14, 2020 9:20:00 AM (GMT Standard Time, UTC+00:00)
# Thursday, February 13, 2020

GCast 73:

Build an Azure DevOps Release Pipeline

How to create a pipeline that will automatically deploy an ASP.NET Core Web Application to an Azure App Service.

ALM | Azure | DevOps | GCast | Screencast | Video
Thursday, February 13, 2020 8:14:00 AM (GMT Standard Time, UTC+00:00)
# Wednesday, February 12, 2020

Microsoft Power Automate (formerly Microsoft Flow) and Azure Logic Apps solve similar problems. You can use either one to create a workflow hosted in the cloud. However, Logic Apps tend to be more powerful. If you create a Power Automate flow, you may eventually run into its limitations and wish to recreate the same workflow in Logic Apps.

Fortunately, this can be done in just a few steps.

Navigate to https://flow.microsoft.com, sign in and select the flow you wish to migrate under "My Flows". The details of the flow displays, as shown in Fig. 1.

PALA01-FlowDetails
Fig. 1

From the top toolbar, select Export | Logic Apps template (.json), as shown in Fig. 2.

PALA02-ExportButton
Fig. 2

A JSON file will be created and automatically downloaded. Fig 3 shows a section of this file.

PALA03-JSON
Fig. 3

Navigate to the Azure Portal (https://portal.azure.com) and login. Click the [Create a Resource] button (Fig. 4) and search for "Template deployment (deploy using custom templates), as shown in Fig. 5.

PALA04-CreateResourceButton
Fig 4

PALA05-NewTemplateDeploy
Fig. 5

Select "Template deployment" to display the info page for this service shown in Fig. 6.

PALA06-TemplateDeployInfo
Fig. 6

Click the [Create] button to display the "Custom deployment" start page, as shown in Fig. 7.

PALA07-TemplateDeployStart
Fig. 7

Click "Build your own template in the editor" to display the template editor, as shown in Fig. 8.

PALA08-TemplateEditor
Fig. 8

Click the [Load file] button (Fig. 9); then navigate to and select the JSON file you exported above.

PALA09-LoadFileButton
Fig. 9

The exported JSON displays, as shown in Fig. 10.

PALA10-LoadedFile
Fig. 10

Click the [Save] button to open the "Custom deployment" dialog with settings from the JSON file, as shown in Fig. 11.

PALA11-CustomDeployment
Fig. 11

Fill in the desired Resource Group and Logic App name, check the "I agree" checkbox, and click the [Purchase] button to create the Logic App.

After a few seconds, your logic app will be available. At this time, you can open it and change any settings you wish, as shown in Fig. 12.

PALA12-LogicApp
Fig. 12

It may be necessary to authenticate against any API connectors, so check these before testing your Logic App.

In this article, you learned how to export a Power Automate flow and import it into an Azure Logic App.

Wednesday, February 12, 2020 9:10:00 AM (GMT Standard Time, UTC+00:00)