# Wednesday, June 5, 2019

The Microsoft Cognitive Services Computer Vision API contains functionality to infer a lot of information about a given image.

As of this writing, the API is on version 2.0 and supports the following capabilities:

Analyze an Image

Get general information about an image, such as the objects found, what each object is and where it is located. It can even identify potentially pornographic images.

Analyze Faces

Find the location of each face in a video and determine information about each face, such as is age, gender, and type of facial hair or glasses.

Optical Character Recognition (OCR)

Convert a picture of text into text

Recognize Celebrities

Recognize famous people from photos of their face

Recognize Landmarks

Recognize famous landmarks, such as the Statue of Liberty or Diamond Head Volcano.

Analyze Video

Retrieve keywords to describe a video at different points in time as it plays.

Generate a Thumbnail

Change the size and shape of an image, without cropping out the main subject.

Getting Started

To get started, you need to create a Computer Vision Service. To do this, navigate to the Azure Portal, login in, click the [Create a resource] button (Fig. 1) and enter "Computer Vision" in the Search box, as shown in Fig. 2.

cv01-CreateResource
Fig. 1

cv02-SearchForComputerVision
Fig. 2

A dialog displays, with information about the Computer Vision Service, as shown in Fig. 3.

cv03-ComputerVisionSplashPage
Fig. 3

Click the [Create] button to display the Create Computer Vision Service blade, as shown in Fig. 4.

cv04-NewSvc
Fig. 4

At the "Name" field, enter a name by which you can easily identify this service. This name must be unique among your services, but need not be globally unique.

At the "Subscription" field, select the Subscription with which you want to associate this service. Most of you will only have one subscription.

At the "Location" field, select the Azure Region in which to store this service. Consider where the users of this service will be, so you can reduce latency.

At the "Pricing tier" field, select "F0" to use this service for free or "S1" to incur a small charge for each call to the service. If you select the free service, you will be limited in the number and frequency of calls that can be made.

At the "Resource group" field, select a resource group in which to store your service or click "Create new" to store it in a newly-created resource group. A resource group is a logical container for Azure resources.

Click the [Create] button to create the Computer Vision service.

Usually, it takes less than a minute to create a Computer Vision Service. When Azure has created this service, you can navigate to it by its name or the name of the resource group.

Two pieces of information are critical when using the service: The Endpoint and the API keys.

The Endpoint can be found on the service's Overview blade, as shown in Fig. 5.

cv05-OverviewBlade
Fig. 5

The API Keys can be found on the service's "Keys" blade, as shown in Fig. 6. There are 2 keys, in case one key is compromised; you can use the other key, while the first is regenerated, in order to minimize downtime.

cv06-KeysBlade
Fig. 6

Copy the URL and and one of the API keys. You will need it to call the web services. We will describe how to make specific calls in future articles.

Wednesday, June 5, 2019 4:46:00 PM (GMT Daylight Time, UTC+01:00)
# Tuesday, June 4, 2019

GeorgeClinton-1It's a good thing The Aragon Ballroom in Chicago's Uptown has such a large stage. They needed all of it to hold about 20 singers and dancers and rappers and guitarists and horns and drummers that make up George Clinton's Parliament Funkadelic.

But even with its large size, the Aragon stage could not contain the entire band for the entire concert Friday night.   At least three musicians jumped over the front into the orchestra pit and ran out into the audience during the performance.

Many years ago, Parliament and Funkadelic were two separate bands (although with largely the same members), but today Clinton has combined them into a single entity - Parliament Funkadelic.

GeorgeClinton-2Clinton conducted... no, that's not the right word... Directed...? No... He more or less presided over the band's performance, stepping forward occasionally to acknowledge a performer, deliver a few lyrics, or lead the audience in handclapping. In fact, the 77-year old spent much of the concert sitting on a chair in front of the drum set.

The show started slowly, not helped by failing sound systems and the poor acoustics of the Aragon; but Clinton gained energy as the night went on.

The crowd expressed most delight when the band broke into their old songs - "Give Up the Funk", "Flashlight", "One Nation Under Groove", ...)

GeorgeClinton-3With no seats on the ground floor, the audience could not help but dance, clap, and wave their hands through much of the show. It wasn't perfect, but the crowded stage delivered enough to delight those who made it out for the night.

His health is failing, and his energy is waning, and this will likely be his last tour. But he gave what he could to the crowded ballroom audience, who waited through three warmup acts to see the Rock and Roll Hall of Famer.

Tuesday, June 4, 2019 9:31:00 AM (GMT Daylight Time, UTC+01:00)
# Monday, June 3, 2019

Episode 566

Hattan Shobokshi on TerraForm

Hattan Shobokshi describes how to use Terraform to implement Infrastructure As Code.

Monday, June 3, 2019 9:40:00 AM (GMT Daylight Time, UTC+01:00)
# Sunday, June 2, 2019

6/2
Today I am grateful for the newly-renovated hallways in my building.

6/1
Today I am grateful to see George Clinton and Parliament Funkadelic in concert last night.

5/31
Today I am grateful to attend the AWS Summit yesterday.

5/30
Today I am grateful for a fresh tune-up on my new (to me) bicycle.

5/29
Today I am grateful to get my son moved into a new home last night.

5/28
Today I am grateful for good health insurance.

5/27
Today I am grateful to sleep in my own bed last night.

5/26
Today I am grateful for 4 days in Stockholm, one of Europe's great cities.

5/25
Today I am grateful to be invited to speak at the DevSum conference in Stockholm for the third time.

5/24
Today I am grateful for dinner at a Viking restaurant and fancy drinks with friends last night in Stockholm's Old City.

5/23
Today I am grateful for dinner last night with Jay and Mike in Stockholm.

5/22
Today I am grateful for 2 days in Copenhagen - my first visit to Denmark.

5/21
Today I am grateful for dinner and a long walk through Copenhagen yesterday with Joseph and Deidre.

5/20
Today I am grateful for Sunday brunch with Dave, Sue, Gary, and Debora.

5/19
Today I am grateful for a full day at home.

5/18
Today I am grateful for a week in Germany.

5/17
Today I am grateful for a German dinner with my team last night.

5/16
Today I am grateful to learn and teach DevOps with Lufthansa this week.

5/15
Today I am grateful for my first time staying in Germany in 31 years.

5/14
Today I am grateful to experience an Escape Room for the first time yesterday.

5/13
Today I am grateful to finally meet my team members in person.

5/12
Today I am grateful for:
-the opportunity to speak at the Chicago Code Camp yesterday
-an upgrade to Business Class on my transatlantic flight last night.

5/11
Today I am grateful to Hattan and Dave for answering my stupid questions the last few days.

5/10
Today I am grateful for dinner with Gary last night.

5/9
Today I am grateful for Korean burgers and Kimchi fries with Tim last night.

5/8
Today I am grateful to see Rev. Al Green in concert last night.

5/7
Today I am grateful for a bike ride last night through Chinatown, Pilsen, and the Lower West Side.

5/6
Today I am grateful for a visit to the Skokie Northshore Sculpture Park.

Sunday, June 2, 2019 2:53:12 PM (GMT Daylight Time, UTC+01:00)
# Saturday, June 1, 2019

ThingsFallApartThings Fall Apart by Chinua Achebe tells the story of Okonkwo, a self-made man of the Umuofia clan in pre-colonial West Africa. Okonkwo worked hard to overcome the reputation of his lazy and cowardly father, who died with numerous debts. Okonkwo rose from poverty until he had acquired 3 wives, 10 children, a successful farm, and a position of respect and leadership among the clan.

But Okonkwo was also hot-tempered and violent: he would beat his wives and children when they displeased him, and his great strength made him feel he could and should use violence to settle disputes.

His rise to power was interrupted when he accidentally killed a fellow tribesman and was exiled for seven years for this crime. When he returned to the clan, everything had changed:  British colonists have arrived, bringing with them their culture, their laws, and their religion. The society that Okonkwo knew began to disappear, as it was subsumed by the colonists.

Unlike many English novels of this period, Things Fall Apart tells the story of the colonization of Africa from the point of view of the Africans. We see the indigenous people's respect for their ancestors and their focus on doing what is best for the community as a whole; and we see the unpleasantness of their society, such as the killing of a youth to placate angry gods.

We learn about Okonkwo - his strengths and his weaknesses. He is admired for his hard work and his sense of duty; but we also witness his uncontrolled rage and his intolerance.

The point is that we see the complexity of their society - not the ignorant savages so often portrayed by Westerners to justify their methods of "education" and "liberation".

Okonkwo was not a likeable man. But he had his principles and stuck to them, until his world was turned upside down by outsiders. And Achebe leads us toward his inevitable destruction.

Saturday, June 1, 2019 9:58:00 AM (GMT Daylight Time, UTC+01:00)
# Thursday, May 30, 2019

GCast 50:

Angular pt 9: Incremental Search

Implementing Incremental Search with Angular JavaScript framework

Thursday, May 30, 2019 9:00:00 AM (GMT Daylight Time, UTC+01:00)
# Monday, May 27, 2019

Episode 564

Eric Boyd on Microservices

Eric Boyd describes the principles of Microservices and how he uses these principles to build better software.

Links:

Monday, May 27, 2019 9:23:00 AM (GMT Daylight Time, UTC+01:00)
# Sunday, May 26, 2019

PowerAndGloryIn the 1930s, the Communist Mexican government outlawed Catholicism and officials imprisoned or killed priests who refused to renounce their faith.

Graham Greene's The Power and the Glory chronicles the story of a Mexican priest on the run from a Mexican policeman.

We never learn the name of the priest or the policeman, but we learn much about the priest.

He is flawed in many ways and overwhelmed with guilt over the sins of his life. He drinks so much that he refers to himself as a "whiskey priest"; and he broke his vow of chastity years ago, resulting in an illegitimate daughter. But he clings to his faith, despite the risk to his life.

As the priest travels from town to town, the policeman pursues him, going so far as to execute those who did not turn in the priest when they had the chance.

Many characters come in and out of the story and nearly all are suffering from the poverty and/or from shame. Poor and weak and struggling with his faith, the priest's life is also filled with misery.

But The Power and the Glory still leaves us with a feeling of hope and a belief in redemption. For people and for the church.

Sunday, May 26, 2019 7:16:53 AM (GMT Daylight Time, UTC+01:00)
# Saturday, May 25, 2019

LuckyJimJim Dixon is miserable.

He is petty and shallow; he is unqualified for his job; he is lazy and judgmental and sexist; he makes faces at people behind their back; and he is a drunk.

And he is miserable. Miserable because he is trapped in a job that he dislikes working for people he doesn't respect and he is convinced he will be fired soon. Almost everyone in his life is pretentious or boring or neurotic or arrogant. And most of them are trying to bully or manipulate him.

He is the title character of Kingsley Amis's first novel: Lucky Jim.

Lucky Jim is a farcical story filled with failure and petty revenge and self-destruction. But Amis's wit succeeds in making it enjoyable for the reader and even getting us to cheer for the novel's anti-hero.

The book is filled with excellent prose, like the following description of Jim's feelings the morning after a night of hard drinking.

"He lay sprawled, too wicked to move, spewed up like a broken spider-crab on the tarry shingle of morning. The light did him harm, but not as much as looking at things did; he resolved, having done it once, never to move his eyeballs again. A dusty thudding in his head made the scene before him beat like a pulse. His mouth had been used as a latrine by some small creature of the night, and then as its mausoleum. During the night, too, he’d somehow been on a cross-country run and then been expertly beaten up by secret police. He felt bad."

Read this silly book to laugh with and about an underdog, who somehow makes good, despite his best attempts not to do so.

Saturday, May 25, 2019 2:31:00 AM (GMT Daylight Time, UTC+01:00)
# Thursday, May 23, 2019

GCast 49:

Angular pt 8: HTTP

Learn how to make HTTP calls from within your Angular app.

Thursday, May 23, 2019 2:24:00 AM (GMT Daylight Time, UTC+01:00)