GCast 72:
Creating an Azure DevOps Build Pipeline
Learn how to automate a build and test process with an Azure DevOps Build pipeline.
GCast 72:
Creating an Azure DevOps Build Pipeline
Learn how to automate a build and test process with an Azure DevOps Build pipeline.
Microsoft Power Automate (formerly Microsoft Flow) is a tool that allows people to design and build workflows without writing code.
It ships with a workflow engine and a designer. The design work is done in the browser.
To make it easier to get started PA includes hundreds of templates - workflows to accomplish common tasks.
You can get started quickly by selecting one of these templates.
Navigate to flow.microsoft.com and sign in.
A workflow in Power Automate is known as a "flow". From the left side menu (Fig. 1), select "My flows".
This will list all flows that you have created so far. If you haven't yet created any, the list will be empty, as shown in Fig. 2.
To get started creating a new flow, click the [+New] button above this list. A dropdown menu displays, as shown in Fig. 3.
Select "Create from Template". A list of available templates displays, as shown in Fig. 4.
You can use the "Search templates" box to search for a template by its name or description or you can click the [See More Templates] button (Fig. 5) at the bottom of the list to display another page of available templates.
One simple template allows you to save email attachments to a OneDrive folder. To get started, click the [Save Outlook.com email attachments to your OneDrive] card, as shown in Fig. 6.
A summary page for this template displays, as shown in Fig. 7.
Click the [Use this template] button. The connectors used by this template will display, as shown in Fig. 8.
You will need to configure these 2 connectors to specify and authenticate against your specific email account and OneDrive account.
When, you have finished configuring these, click the [Continue] button.
A new flow is created based on this template. The Flow Designer for this flow displays, as shown in Fig. 9.
This workflow consists of 2 steps: One Trigger and one Action.
The Trigger ("On new email", in this case), specifies what must happen in order to run this flow. For this flow, it is the receipt of an email. The connector configured above specified the email account, but there are more options. For example, by default, we only look at messages in the Inbox, but we can check a different folder if we only want to consider emails routed to a specific Outlook folder.
Click the "Show advanced options" link to display advanced options (Fig. 10).
Here, you can filter the trigger, so it is only activated by messages to and/or from certain parties or with a specific word or words in the subject.
Look at the first action in this flow with the title "Apply to each attachment on the email". (Fig. 11)
Notice that it contains another action. This is a type of "Control" action, known as an "Apply to each control" and it works similarly to a LOOP or FOREACH construct in a programming language. It will exit all contained actions for every email attachment that the trigger finds.
The contained action is a "Create file" action. So, it will create a file in your Dropbox folder for every email attachment that arrives in your inbox. You have the option to modify the name and contents of the file created, but the default behavior is to use the name and contents of the attached file.
You can add more actions to this flow if you like. To add an action inside the control, click the [Add an action] button (Fig. 12) at the bottom of the control.
To add an action after the control, click the [New Step] button (Fig. 13) below the control.
To add an action between actions or before all actions, hover your mouse over the arrow connector and click the [+] button (Fig. 14) that appears.
You can save the flow by clicking either the [Save] button at the bottom (Fig. 15) or in the top right toolbar (Fig. 16).
Now your flow is ready to test, which I will cover in the next article.
In this article, I showed how to create a new flow based on a template in Microsoft Power Automate.
A few months ago, Microsoft Flow was rebranded as Microsoft Power Automate.
Power Automate (PA) is a tool and platform for building workflows. It is specifically targeted at business users and business analysts. These foods are often referred to as "Citizen Developers". They understand the business logic to be encoded but lack the skill or desire to write custom code. Because PA provides a graphical interface directly within the browser, these Citizen Developers can create many workflows without writing any code.
PA consists of the following key components
Flows
A flow is a workflow created with Microsoft Power Automate. It consists of a set of steps, along with some logic to decide when and how often those steps are executed.
Connectors provide a way for your flow to connect to external data sources and applications. They are wrappers to APIs to those external components. PA ships with hundreds of connectors, but you can also build your own, if the one you want is not available.
A trigger defines an event that kicks off a flow. This can be a document saved somewhere, an email message received, a database change, or any of a number of possible activities.
An action is a step for the flow to perform. You build your flow by chaining together different actions and the logic around their execution. Most actions use connectors to interact with external data or an external application.
A template is a predefined flow on which you can base a new flow. This makes it easy to create a flow to accomplish many common tasks, such as automatically saving an email attachment to a OneDrive folder or send an email when someone saves a file. More complex workflows also have templates. For example, there are several templates that support manager approval processes.
A solution is a set of related flows that you can manage together. Use this to deploy multiple flows at the same time to the same environment.
The built-in connectors and templates make it possible to build flows for a variety of scenarios. Want to automate the process of approving expense reports? Done! Want to be notified when important data is updated? Done! Want to know the weather every morning? Done! You can start with a template or build a flow from scratch.
Some workflows may require more complex logic or lots of custom code. For these, Microsoft offers Azure Logic Apps – a more powerful workflow engine hosted in Azure.
If you are an Office 365 or Dynamics 365 customer, you already have access to Power Automate.
If not, you can sign up for free at https://flow.microsoft.com
You can build flows with the free version; but there are limitations on the number of flows, the available connectors, and the frequency they can be invoked. You can move past these limitations this by signing up for a paid version.
Episode 596
Courtney Eaton and Gabrielle Sempf on KidzMash
KidzMash is a tech conference for children, run in parallel with the CodeMash conference.
Courtney Eaton and Gabrielle Sempf talk about what goes into KidzMash and what makes it successful.
2/2
Today I am grateful for a visit to the Henry Vilas Zoo in Madison, WI yesterday.
2/1
Today I am grateful for 2 years in my condo.
1/31
Today I am grateful for Coffee with Andy
1/30
Today I am grateful for those who offered to help me learn a new technology, without me even asking.
1/29
Today I am grateful to attend a Lunar New Year celebration yesterday.
1/28
Today I am grateful to reconnect with some old friends via email this past week.
1/27
Today I am grateful to watch the Grammy Awards last night
1/26
Today I am grateful to attend the Microsoft holiday party last night.
1/25
Today I am grateful for my first visit to Charlotte, NC.
1/24
Today I am grateful for dinner last night with Emiel after 15 years.
1/23
Today I am grateful for Carolina bbq last night in North Carolina.
1/22
Today I am grateful for dinner last night in Charlotte with Richard.
1/21
Today I am grateful for Inbox Zero.
1/20
Today I am grateful to get Emilija's car running again.
1/19
Today I am grateful to watch the harsh weather this week through my window from inside my warm living room.
1/18
Today I am grateful that the Michigan State basketball and ice hockey teams are both in first place.
1/17
Today I am grateful to attend an Andy Warhol exhibit at the Art Institute of Chicago last night with Julie.
1/16
Today I am grateful to watch Nick's team's first conference victory last night in Kalamazoo.
1/15
Today I am grateful for a new bike chain.
1/14
Today I am grateful for dinner last night with Julie and David.
1/13
Today I am grateful that I had a chance to know Scott Allen before he left us.
1/12
Today I am grateful for the blanket of white covering the city this morning.
1/11
Congratulations to the North Dakota State Bison on another title!
1/10
Today I am grateful for the hospitality and generosity of Chris Chris this week.
1/9
Today I am grateful for dinner with J. last night.
1/8
Today I am grateful for dinner last night with Kendall and Gary.
Jan 8, 2020, 8:34 AM
David Giard updated his status.
1/7
Today I am grateful to come to the Kalahari for the 12th consecutive January.
1/6
Today I am grateful for the NFL playoffs.
GCast 71:
Integrating Visual Studio Solution with Azure DevOps Repo
Learn how to configure your Visual Studio 2019 solution to integrate with an Azure DevOps repository.
Episode 595
Tibi Covaci on Migrating to the Cloud
Tibi Covaci discusses strategies and factors companies need to consider when migrating their applications to the cloud.
Misfortune followed Mr. Biswas his entire life. He was born slightly handicapped and grew up weak in body and spirit. When he was a boy, his father accidentally drowned as a result of his negligence. He was sent to live first with a craftsman, then with an abusive uncle and each stay ended disastrously. As a young man, his flirtation with a local young lady is misinterpreted as a proposal and he is pressured by her family into marriage. From that moment on, he finds himself dependent on the wealthy Tulsi family - a dependence he comes to bitterly resent.
A House for Mr. Biswas by V.S. Naipaul takes place before and during World War II among the east Indian community of the West Indian island of Trinidad.
The house that Mr. Biswas craves is a symbol of his freedom and independence - evidence that he will no longer rely on others for shelter or status or anything else - and for the respect that will accompany that independence.
The reader wants to pity Mr. Biswas, but it is often hard because so much of his pain is self-inflicted. He alienates everyone around him with his rages and his pettiness. The book must have been painful for Naipaul to write, as the title character is based on his own father. At times, it was painful to read as I recalled the times in my own life when I acted against my own best interest out of anger or spite.
There isn't much action in this book and Naipaul removes suspense by revealing the ending in the prologue; but he makes it work for several reasons:
He builds characters that the reader can care for, even if they are not likeable.
His prose and dialogue are wonderful - sometimes tragic; often humorous.
He weaves together large themes, such as the changing cultures in a post-colonial world and the conflicts of toxic relationships.
A House for Mr. Biswas is an excellent story of a limited man struggling to free himself.
GCast 70:
Deleting an Azure DevOps Project
Deleting a project from an Azure DevOps organization is not intuitive (at least it wasn't for me). Here is how to do it.
Episode 594
Christian Geuer Pollmann on Erlang and Elixir
Christian Geuer-Pollmann describes the Erlang ecosystem, the Elixir language, and open source Azure tools he has built with Elixir.
Links:
https://github.com/chgeuer
https://twitter.com/chgeuer
http://blog.geuer-pollmann.de
M is for Magic collects 11 short stories by fantasy author Neil Gaiman.
The title is a tribute to Ray Bradbury's short story anthologies R Is for Rocket and S Is for Space and Gaiman's style is not dissimilar to Bradbury's.
The collection opens with "The Case of the Four and Twenty Blackbirds" - A detective story in the style of Dashiell Hammett's or Raymond Chandler's pulp novels, but featuring characters from nursery rhymes. Hard-boiled private eye Jack Horner attempts to solve the mystery of whether Humpty Dumpty fell from a wall or was pushed. The story is often laugh-out-loud funny.
10 more stories and a poem follow; they cover various subjects and styles, but revolve around the genres of fantasy, horror, and science fiction. These tales were written by Gaiman over a period spanning over 20 years. Many of them have appeared in other collections, but they were all new to me.
My favourite was "Chivalry", which tells of an old lady who buys the Holy Grail in a local thrift store for 70 pence and likes the way it looks on her mantle. When Sir Galahad arrives on his quest for the Grail, he offers her priceless treasures in exchange; but she really likes the way it looks between a ceramic figurine and a photo of her late husband.
Most of the stories are a bit scary, but none is terrifying. There is a bit of nudity and sex, so I would not recommend M is for Magic for young children. But teenagers and young adults will enjoy Gaiman's wit and creativity; And grown-ups like me will also like it.
Detective Jack Horner investigates the fall of Humpty Dumpty.
A young boy stumbles upon a giant troll, who declares he will eat the boy's life. The boy dissuades the troll by promising to return when he has experienced more life.
A mysterious and malevolent jack-o-lantern frightens the family
An elaborate scam that impresses other grifters
Each of the months of the year gather around a fire to exchange stories
An old lady discovers the Holy Grail in a secondhand shop. A few days later, Sir Galahad comes to her house on his holy quest.
The devil shows up and battles an adopted stray cat
Teenage boys attend a party hosted by alien females
An epicurean club travels to Egypt to capture and eat an extremely rare bird
A boy encounters the ghost of witch burned centuries ago and tries to help her
A poem about what to do if you find yourself in a fairy tale.
The C# string class provides a convenient method for replacing one string with another. The syntax is
string.Replace (
So the following code:
var oldName = "David"; var newName = "Mr. Giard"; var oldSentence = "My name is David"; var newSentence = oldSentence.Replace(oldName, newName);
stores the value "My name is Mr. Giard" in the variable newSentence.
It is simple and it works. But I recently discovered a limitation: Searching for the old string is always case-sensitive. If I want to do a case-insensitive search and replace instances of "David" or "david" or "DAVID" (or even "daVid"), the string.Replace method does not support this.
The following code:
var oldName = "DAVID"; var newName = "Mr. Giard"; var oldSentence = "My name is David"; var newSentence = oldSentence.Replace(oldName, newName);
Results in the value "My name is David" being assigned to newSentence. In other words, the Replace method did nothing.
Fortunately, I can use the regular expression library to do this. The code is below:
var oldName = "DAVID"; var newName = "Mr. Giard"; var oldSentence = "My name is David"; var regex = new Regex(oldName, RegexOptions.IgnoreCase); var newSentence = regex.Replace(oldSentence, newName);
It is only one more line than using Replace and it allows for much more flexibility. And, as Regular Expressions go, this one is quite simple.
GCast 69:
Learn how to set branch policies in Azure DevOps, including requiring approvers and requiring a linked work item.
Episode 593
Annie Bougie on Autonomous Driving
Annie Bougie describes the different levels of autonomous vehicles and the state of the industry today.
The Recognitions by William Gaddis tells the story of Wyatt Gwyon, a talented but commercially unsuccessful painter. Recktall Brown, an unscrupulous art dealer, convinces Wyatt to produce paintings in the styles of Flemish masters and sell the as newly discovered originals. But it tells many other stories of dozens of characters who pass in and out of its pages.
There are some things that I really like about this novel. I marveled at the cleverness of much of the dialogue. I particularly enjoyed the fragmented conversations pieced together at cocktail parties - a technique Gaddis repeated multiple times. I liked the parallel issues of art forgery, a currency counterfeiting, plagiarism, and passing off an artificially aged mummy - different takes on those who dishonestly profiting from the works of others.
But the book went out of its way to confuse the reader and obfuscate its stories.
Gaddis seems to take pleasure in confusing his readers. He jumps from story to story and from character to character with wild abandon. I frequently found myself flipping back several pages in an effort to figure out who was speaking or who the author was describing. Even then, I was often unsuccessful. Add to this that some of the dialogue is in a foreign language and those phrases are sometimes significant to the story, so the reader is forced to set down the novel and translate the phrase. A thousand pages of this left me fatigued and confused.
Gaddis seemed to know that his novel’s complexity would tire the reader. He included one scene in which a book critic admits to reviewing a long book after reading only the jacket.
I powered my way through it, but ultimately found it unsatisfying.
Episode 592
Jes Schultz on Data Engineering
Jes Schultz discusses the roles and responsibilities of a Data Engineer.
1/5
Today I am grateful for the lady who cleans my home twice a month.
1/4
Today I am grateful for a sleep study last night.
1/3
Today I am grateful for 2 weeks vacation at the end of the calendar year.
1/2
Today I am grateful for college football.
1/1
Today I am grateful for an exciting year.
12/31
Today I am grateful for a visit to the Grohmann Museum yesterday.
12/30
Today I am grateful to ride around Chicago last night in shorts.
12/19
Today I am grateful to sleep in my own bed.
12/28
Today I am grateful for 3 days in Detroit.
12/27
Today I am grateful for my first visit to the Detroit Institute of Arts in decades.
12/26
Today I am grateful to celebrate Christmas with my family.
12/25
Today I am grateful that God sent his son to save us.
12/24
Today I am grateful for 3 days in Kalamazoo, MI.
12/23
Today I am grateful for a visit to 2 museums in Kalamazoo, MI yesterday.
12/22
Today I am grateful for lunch with my son after watching him coach his college team yesterday.
12/21
Today I am grateful for a late-December bike ride through downtown Chicago yesterday.
12/20
Today I am grateful to see Wilco in concert last night.
12/19
Today I am grateful to watch the Spartans defeat Northwestern at Welsh-Ryan Arena last night.
12/18
Today I am grateful to edit months worth of photos yesterday.
12/17
Today I am grateful for a week in Denmark and Sweden.
12/16
Today I am grateful for the hospitality and generosity of Tiberiu and Nicoleta and their family.
12/15
Today I am grateful for a walk around Helsingborg, Sweden yesterday evening.
12/14
Today I am grateful for dinner last night in Helsingborg with Tiberiu, Nicoleta, and their family.
12/13
Today I am grateful for dinner last night with Magnus and his family.
12/12
Today I am grateful to everyone who made the DevOps OpenHack in Copenhagen a success this week.
12/11
Today I am grateful for sushi last night in Copenhagen with Christian, Sasa, and Erhunse.
12/10
Today I am grateful for great books.
12/9
Today I am grateful for an empty seat next to me on each of my flights yesterday.
12/8
Today I am grateful to see Nick's game last night with Tim and Nathale.
12/7
Today I am grateful for 2 excellent sons.
12/6
Today I am grateful for good news from multiple medical test results this week.
12/5
Today I am grateful for dinner with Emilija yesterday.
12/4
Today I am grateful for good health care.
12/3
Today I am grateful to return to my trainer yesterday after a month of travel kept me away.
12/2
Today I am grateful for time to set up and arrange furniture in my home yesterday.
2019 was an amazing year for me. I’ve listed some details of my experiences at the bottom of this post, but here are the highlight.
As 2018 ended, I did not feel comfortable with my job. I had moved to a new division (the company eliminated my old position) and I struggled to understand the new processes and to make a positive impact. In early 2019, things began to click. I was involved in a number of successful projects and I learned a great deal. I worked with customers to build and deploy valuable software and I mentored at OpenHacks and other workshops to teach developers how to write code and use the tools of IT.
My 2 sons also enjoyed success this year - both personally and professionally. In October, Nick was named Head Basketball Coach at Kalamazoo College. He and his longtime girlfriend became engaged in November. Tim began a new job in January working for an IT consulting company. He is enjoying the work and the people and he does not have the long commute of his old job. In the spring, I helped him move into a new house. His only major setback was tearing his Achilles tendon while playing basketball, but he is recovering well from this injury.
My brother Dan lives in Australia, but he spent much of this year working in Phoenix, AZ. In August, I flew to Phoenix and we spent some time together. Our trip included a Diamondbacks game, a visit to Flagstaff, and a musical journey to stand on a corner in Winslow, Arizona.
My sister Debbie moved to Hawaii this year. With Dan living in Australia, family get-togethers are becoming smaller and smaller. Dan did fly to Michigan to celebrate Christmas with us.
If you know me, you know that I love music and I love to see live music. I attended 18 concerts in 2019 - many featuring bands and musicians I enjoyed in my youth. The most memorable concert was seeing Peter Frampton's farewell tour with my son Tim.
I've always enjoyed live theater. This year, I made an effort to see more, including some world class performances on Broadway and London's West End. I attended a London West End play on 2 separate visits and my friend Jon (a big theatre fan who lives in the UK) was kind enough to join me on my first visit.
I traveled internationally more this year than I ever have in the past. Most of my trips were for work, but I often stayed a couple extra days to explore. I made my first visits to Denmark and the Netherlands and I returned to Italy and Germany for the first time in 30 years. I also visited the UK, Sweden, and Canada this year, along with a number of US locations.
The best trips were those in which I stayed with friends: The aforementioned trip to Arizona to visit Dan; a few days in Las Vegas to stay with my friends Jay and Christina and their family; and a few days staying with my friend Tibi and his family in Helsingborg, Sweden. I'm also grateful to my friend Jon for allowing me to stay with him during the CodeMash conference in January.
I made a dent in my quest to visit every NFL, NBA, NHL, and MLB stadium/arena, but not as much as I hoped. I visited 5 new places in 2019, barely staying ahead of the pace at which teams are building new homes.
I also attended a Minor League baseball game in Joliet, IL; college basketball games at Kalamazoo College, Western Michigan University, the University of Chicago, and Chicago State University; a US Women's National Team soccer game against Korea at Soldier Field; a WNBA Chicago Sky home game; and the NCAA Division 1 Women's Regional Finals basketball game, featuring Notre Dame vs Stanford.
The best game I saw was the 2019 Big Ten Basketball Tournament finals at the United Center, in which the Michigan State Spartans came from behind to defeat the university of michigan 65-60 for Tom Izzo's sixth conference tournament title. It was a highlight in a season of highlights that also included a regular season championship and a Final Four appearance.
For the second year in a row, I focused heavily on reading. Most of the books I chose this year came from Time Magazine's list of the Top 100 English language novels. I had hoped to finish the list by the end of the year, but I ran out of time and fell about 20 books short. In all, I completed 62 books in 2019.
A complete list of what I read is at the bottom of this post or you can follow me on Goodreads to see what I'm reading and my thoughts on the books I’ve completed.
In 2019, I published 226 blog posts – a new record for me.
I continued my commitment to producing my 2 TV shows: Technology and Friends and GCast, publishing almost 100 episodes of these shows during the year.
I have significantly reduced the amount of public speaking that I do - mostly because it is no longer part of my day job and that job consumes so much of my time. But I did manage to deliver a few presentations. Most were local or online, but I did deliver presentations in Stockholm, Las Vegas, and Atlanta. I hope to return to a more frequent speaking schedule before the community forgets about me.
These past 12 months, I learned a lot, I experienced a lot, and I accomplished a lot. I feel blessed.
The one thing I did a poor job at this year was volunteering my time to charitable causes - something I had increased the 2 previous years. I plan to do better at this in 2020.
2019 was outstanding. I saw the world, I connected with old friends, my family had success, and I advanced in my career. Experience has taught me that this good fortune will not last forever - that eventually, things will go badly. But I don't dwell on that. Instead, I will treasure this year and recall it whenever I hit the hard times.
| Date | Topic | Event/Host | Location |
|---|---|---|---|
| 3/14/2019 | Guest lecture: Cloud Computing and Azure | Michigan State University | East Lansing, MI |
| 3/23/2019 | How Cloud Computing Empowers a Data Scientist | SQL Saturday - Chicago | Lisle, IL |
| 3/29/2019 | How Cloud Computing Empowers a Data Scientist | T-Mobile Student hackathon | Atlanta, GA |
| 5/11/2019 | We Want the Func! Serverless Computing with Azure Functions | Chicago Code Camp | River Forest, IL |
| 5/23/2019 | We Want the Func! Serverless Computing with Azure Functions | DevSum | Stockholm, Sweden |
| 7/18/2019 | We Want the Func! Serverless Computing with Azure Functions | IndySA | Indianapolis, IN |
| 7/22/2019 | We Want the Func! Serverless Computing with Azure Functions | Chicago Cloud Conference | Chicago, IL |
| 7/22/2019 | Serverless Computing with Azure Functions | Chicago Cloud Conference | Chicago, IL |
| 8/8/2019 | Effective Data Visualization | SQL PASS Virtual UG | Online |
| 10/10/2019 | We Want the Func! Serverless Computing with Azure Functions | Las Vegas .NET User Group | Las Vegas, NV |
| 10/30/2019 | AI for Earth | JPMC IT Conference | Chicago, IL |
GCast 68:
Learn how to create and manage work items for an Azure DevOps project.
GCast 69:
Learn how to set branch policies in Azure DevOps, including requiring approvers and requiring a linked work item.
Episode 591
Martin Kearn on Document Recognition and Knowledge Extraction
Martin Kearn describes how to use Microsoft AI tools to recognize and extract data from documents.
Episode 590
J Tower describes how to use the .NET Command Line Interface to automate tasks normally performed inside Visual Studio.
It was their last concert of the year. And their last of the 2010's. And Wilco did not want it to end.
For almost 3 hours, the Chicago-based band performed in front of a sold-out audience Thursday night at the Chicago Theatre - the fourth night this week they did so.
With 16 studio albums, they have no problem finding music to fill a long set. And with styles ranging from alt-country to pop to indie rock to psychedelic, they had no trouble keeping the audience engaged and standing for such a long performance.
They chose mostly slower, softer songs, although they interspersed some heavy metal guitar and drums into the arrangements of some of these songs. For example, on the melancholy "Via Chicago", the singers continued to sing the chorus, ignoring the rythms set by the guitarist and drummer, who suddenly shifted into a death metal sound for a few seconds.
The band's lineup has remained consistent since some turnover around 20 years ago. The original driving force remains in lead singer and songwriter Jeff Tweedy, who fronts the band and related to the audience on a personal level.
Late in the show, Tweedy announced that the band would "pretend to go over there and then come back", suggesting that they were about to play their encores without the usual charade of pretending the show was over. They played 2 more songs, then actually did say Good Night and leave the stage, participating in the ritual of waiting for the audience to call them back for more. The actual encore included "California Stars" (my favourite Wilco song - a Woody Guthrie composition originally recorded as a Wilco collaboration with Billy Bragg) and closed with a cover of John Lennon's "Happy Xmas (War is Over)". For the latter song, they were joined by Sharon Van Etten, who warmed up the audience with a solo acoustic performance earlier in the evening.
It was after 11PM when the show ended, and the audience ventured out into the cold Chicago night and Wilco began their time off until next year. And it was clear they did not want it to end.
A few months ago, I decided to spend 2 days in Copenhagen on my way to speak at a conference in Stockholm, Sweden. I had never been to Denmark before and I did not know if I would get the opportunity again.
Little did I know that my opportunity would come so soon.
I was asked to serve as the Tech Lead at a DevOps OpenHack in Copenhagen last week and I quickly accepted a chance to return to Copenhagen. I didn't feel I had enough time to explore last time (although I did visit 2 museums and took a boat tour of the canals); and I wanted to see more.
Unfortunately, it is more difficult to see Denmark in December than it is in May. The Copenhagen sun rises at about 8:30 and sets at about 3:30, meaning it was dark when I arrived at work each day and dark when I left.
But I still enjoyed myself.
The OpenHack was a great success. It was my first time as a tech lead, which added pressure, but my friend Hattan helped me prepare for this role and I was ready when the event began. I was also excited to learn more about DevOps - an important part of software development that I had been hoping to upskill on. The final day of the OpenHack, I surprised the audience by singing a song about DevOps that I had composed the night before. It was set to the tune of "Deck the Halls", which gave it a festive feel.
After the OpenHack ended, I met my friend Magnus and his family for dinner. Magnus lives in Malmo, Sweden, which is across the Oresund from Copenhagen. It was good to see him and to meet his family.
The following day, I walked around Copenhagen and spent a couple hours at the Christiansborg Palace, where the Danish Parliament meets. The Palace boasts several museums. I visited the ruins under the palace of the castles that previously stood on the site; and the Royal Reception Rooms, where monarchs host official functions.
My friend Tibi recently moved to Helsingborg, Sweden and he invited me to stay with his family. So, Friday afternoon, I traveled the 100 km by train to meet him. It was a relaxing weekend with Tibi, his wife Nicoleta, and their 3 daughters, including an 11-month-old with an infectious smile.
Sunday, I took a ferry across the Oresund to Helsingborg to visit Kronberg Castle, which inspired William Shakespeare to write "The Tragedy of Hamlet, Prince of Denmark" over 400 years ago. If I return in the summer, I would love to see a live production of "Hamlet" performed at the castle. The day was filled with wind and rain, which made the ferry ride rough and walking unpleasant, but which also kept away crowds.
On Monday, I spent the entire day returning home - via car, train, 2 flights, and an Uber ride.
It was not an exciting trip, but it was one that I enjoyed, thanks to the kindness of friends. And I left with a festive feeling.
GCast 67:
Azure Repos, Branches, and Pull Requests
Learn how to edit files in an Azure DevOps repo, create branches and pull requests, and approve mergers.
Episode 589
Tobiah Zarlez on Gender Identity
A few years ago, Software Engineer Tobiah Zarlez came out as non-binary gender. Tobiah talks about what this mean, how it affected them, and how the tech community responded.
A young boy wanders alone from village to village in eastern Europe during World War II, experiencing fear, abuse and perversion at nearly every turn. His hair, eyes, and skin are dark, so he is labeled a Jew and/or a Gypsy - both capital offenses under the Nazi occupation.
The cruelty and depravity he encounters only worsens as his journey continues. For six years, he escapes a terrible situation in one village to a new (often worse) situation in another village. One farmer gouges out the eyes of a field hand he suspects of flirting with his wife; another man locks the boy in a room with a large violent dog every night; he witnesses one family engaged in incest and bestiality. Against it all is the backdrop of the Nazis shipping Jews, Gypsies, and other minorities to suffer and die in concentration camps.
He is beaten and nearly murdered multiple times; nearly everyone he meets is superstitious, ignorant, and cruel. Many of the peasants are active participants in rape, murder, and animal abuse.
The Painted Bird by Jerzy Kosinski is a twisted coming-of-age story that shows what happens when a child grows up knowing nothing but fear and hatred and chaos. There is a stark contrast between the straightforward first-person narrative style and the horrifying tales of chaos the narrator experiences.
It is a brutal story that left me shaken. It is powerful and it is a classic. But you need to brace yourself before reading it.
Christina Stead's The Man Who Loved Children details an extremely toxic relationship.
Sam and Henny have been married long enough to have six children together; but they don't like each other and barely speak to one another. Worse, they spend much of their energy bad-mouthing one another to their children.
Henny is better and spiteful and filled with hate for just about everyone and everything.
Sam is arrogant and self-important and racist and misogynistic.
Neither is a good parent. Sam spoils his children and Henny neglects them. The eldest daughter Louisa gets the worst of it. Henny hates her because she is the product of Sam's first marriage (a woman adored by Sam who died shortly after childbirth) and Sam insults and publicly ridicules Louisa for her looks (Louisa is homely and overweight) and her ambition to become a writer.
Sam and Henny each try to play the innocent victim; but each is horrible: Sam because of his narcissism and need for control and Henny because of her melodrama and blatant meanness. Each is horrible because each tries to weaponize the children against the other, forcing them to take sides. Only Louisa recognizes this, which is why she is so unhappy.
Things get worse after Sam loses his job and the family is forced to move from Washington, DC to the slums of Baltimore, where Henny - once an industrialist heiress - borrows money from multiple lenders, with no intention of repaying these loans.
As the story wears on, Sam's habit of baby talking to his children becomes more and more annoying; and his overestimation of his own intelligence and morality wear thin. I never grew to like Henny, but I began to despise her less and to understand her descent into madness as the story revealed more of Sam's character.
For me, the story became real enough that it made me uneasy. Stead makes us uncomfortable to see the dark inside of this highly dysfunctional family. I liked the foreshadowing involving Louisa and a neighbor's cat. But I did not like the relationship. And I feared for the future of the children.
Episode 588
Walt Ritscher describes Try .NET and how to use it to enhance your programming demos.
GCast 66:
Creating a Repo in Azure DevOps
How to create an Azure DevOps project and a code repo within that project.
Episode 587
Robert Green on Microsoft Graph
Robert Green describes how to use Microsoft Graph to query information from Microsoft directories and services.
12/1
Today I am grateful for:
-Breakfast with old friends in Plymouth
-Watching my son coach his basketball team in Kalamazoo
-Watching the Spartan regular-season finale in East Lansing
11/30
Today I am grateful for dinner last night with a group of old friends from my college days.
11/29
Today I am grateful for a wonderful Thanksgiving dinner with my family yesterday.
11/28
Today I am grateful I was able to avoid the worst of the storms while driving across Illinois, Indiana, and Michigan yesterday.
11/27
Today I am grateful to Hattan for spending so much time teaching me about DevOps this month.
11/26
Today I am grateful for bike-riding weather in late November.
11/25
Today I am grateful for a weekend in Kalamazoo.
11/24
Today I am grateful to see my son's Kalamazoo College team defeat Case Western yesterday.
11/23
Today I am grateful for lunch yesterday with Kelly, Kara, and Elizabeth.
11/22
Today I am grateful for a tour of an airline's command center at the Dallas-Ft Worth airport yesterday.
11/21
Today I am grateful for dinner last night in Dallas with Jason, Tobiah, and Paris.
11/20
Today I am grateful for BBQ with Kendall last night in Dallas.
11/19
Today I am grateful for an electric blanket.
11/18
Today I am grateful for an amazing week in Tokyo.
11/17
Today I am grateful to visit the Yebisu Museum of Beer and the Tokyo Metropolitan Museum of Photography yesterday.
11/16
Today I am grateful for a visit to TeamLab Borderless Digital Art Museum yesterday.
11/15
Today I am grateful for:
-Lunch yesterday with Peter, who I haven't seen in over 30 years;
-A baseball game at the Tokyo Dome last night
-A walk around Yoyogi Park
11/14
Today I am grateful for:
-a visit to Meiji Jingu temple yesterday morning
-completing a successful OpenHack this week
11/13
Today I am grateful for a visit to Asakusa Temple yesterday.
11/12
Today I am grateful for Udon with new friends in Roppongi last night.
11/11
Today I am grateful for a walk around Hibiya Park in Tokyo yesterday.
11/10
Today I am grateful to arrive in Japan for the first time.
11/9
Today I am grateful for dinner last night with LaBrina and Becky.
11/8
Today I am grateful for a party last night at the Fisher Pavilion in Seattle.
11/7
Today I am grateful for dinner last night with the Diversity and Inclusion team.
11/6
Today I am grateful to spend yesterday writing code with colleagues.
11/5
Today I am grateful for a visit to the Museum of Flight in Seattle last night.
11/4
Today I am grateful for dinner with teammates in downtown Seattle last night.
Episode 586
Jim Wooley on Entity Framework Performance
Jim Wooley describes the newest features of Entity Framework and factors to consider when increasing performance.
I had never been to Tokyo; I had never been to Japan; in fact, I had never been to Asia.
Until last week.
I was asked to work at an OpenHack in Tokyo, and I quickly agreed to an opportunity to visit this faraway place for the first time.
The OpenHack went well. Attendees learned how to work with data in the cloud and I served as a coach for a team of Japanese developers. It was a joy to work with other smart people and help people learn. I even had a chance to deliver two presentations to the attendees – one on Azure Data Factory and one on Azure DataBricks.
I was asked to buy coffee for the team as punishment for the two days I arrived late to our morning standup meeting (even though I was to blame for only one of those late arrivals)
The day prior to the OpenHack, we took a hike through nearby Hibiya Park, which featured two scenic ponds, a fountain, and colorful wildlife.
Until Thursday evening, I was mostly focused on the OpenHack. But I had all day Friday and Saturday (and parts of some other days) to explore this new city and I took advantage.
Tokyo is a large urban area with an enormous population, but there are many parks and natural areas within the city. My colleague Madhu talked me into waking up early Wednesday and Thursday morning to visit some shrines in the city before heading to work. It was completely worth it, even though we ended up buying coffee for the team.
Sensō-ji is a Buddhist temple near a market area in Asakusa. Outside the temple is an impressive garden with admirable landscaping and a stream flowing through it.
Meiji Jingu is a shrine dedicated to the spirits of Emperor Meiji and Empress Shōken, who were instrumental in bringing Japan into the Industrial Age in the early 20th century. The shrine is in the center of a beautiful forest in the middle of Tokyo.
Friday afternoon, I met with my friend Peter. Peter and I went to college together and he moved to Japan about 30 years ago, so I had not seen him in decades. We met by the Shibuya Crossing - an intersection of 6 major roads that allows hundreds of pedestrians to cross in any direction simultaneously when the signal changes. Peter wanted to eat at his favourite nearby restaurant, so he took me to (wait for it) TGI Friday's! It wasn't much different than the American version, but it was good to spend time with Peter after all these years. After lunch, we took a walk around Yoyogi Park, which had some nice fountains and walking trails.
On Friday night, I attended a baseball game at the Tokyo Dome with three other coaches. South Korea easily defeated Mexico as part of the Global Baseball Battle, which featured the top 12 national teams. We sat in box seats down the left field line with the Mexican fans and pretended to be big fans ourselves.
We also went on one of the rides in the amusement park across the street.
Saturday, we went to the TeamLab Borderless - a multimedia museum that features animated projections on walls floors, and ceilings; along with physical objects, music, and uneven floors. It is very much a multi-sensory experience.
Saturday evening, I made my way to Akihabara, known as "Electric Town" because of all the electronics shops. I found a tiny hole-in-the-wall curry place and a Japanese comic book shop and walked through the neon jungle that is this neighborhood before I made my way back to my hotel.
My final day in Tokyo was a relaxing one. I went for a walk around the Ebiyu neighborhood where I was staying. I visited two nearby museums: The Museum of Yebisu Beer and the Tokyo Photographic Art Museum. There were no English language tours at the beer museum, so I walked around the open area and sampled one of their beers. At the Photographic museum, I saw works by this year's national award-winning photographers. I was surprised to notice that some videos were classified as "photography". I spent less than an hour at each museum before making the long trek to the Narito airport for my journey home.
Most people I encountered spoke very little English - this was fair, given that I know only a handful of Japanese words - but they were very friendly. One woman came running out of a coffee shop I had just exited to return a $5 bill I had dropped inside. Another man went inside a train station with us (costing him at least 100 Yen) to point the directions to the train we needed.
Tokyo is a surprisingly clean city, given its size and population density. One almost never sees litter on the ground, even though there aren't many trash cans. People simply don't drop trash on the ground.
This city is much more beautiful at night, when every building is illuminated, which contrasts dramatically with the plain colors of the daytime. The difference is like night and day.
Riding the subway during rush hour can be soul-crushing and body-crushing. People are packed so tight that I struggled to move my arms. During this time, I noticed the other riders seemed to put themselves in a trance - either buried in their cell phones or closing their eyes during the ride. Sometimes it was so crowded that it was impossible to reach or read one's cell phone. On one ride, the train broke down and did not move for 15 minutes; Yet no one complained or even moved.
And the service at my hotel (The Westin Tokyo) was excellent. One example: I regularly sleep with a CPAP machine and I have a pillow at home with a notch where the CPAP mask can rest undisturbed while I sleep. I brought the machine to Tokyo with me and left it by the bed. When I returned to my room in the evening, the hotel staff had provided a notched pillow for me.
I am grateful to Raj and Omkar and Lisa and Amanjeet and Lisa for spending time with me outside the OpenHack as we explored Tokyo together.
And I am grateful to Hattan for providing me with recommendations of things to do in Tokyo.
I hope it will not take me another 57 years to return. And I am happy to buy more coffee when I do.
Infinite Jest by David Foster Wallace takes place in the near future - mostly in and around Boston, MA.
Things are a bit different in the future.
Calendar years are no longer referred to by ordinal numbers; instead, the naming rights to each year is auctioned off to commercial products. Years now go by names such as "Year of the Perdue Wonderchicken", "The Year of the Trial Size Dove Bar", and "Year of the Tucks Medicated Pad". Most of the story takes place during the "The Year of the Depend Adult Undergarment".
After contaminating the entire northeastern part of the United States, the US has coerced Canada into annexing the polluted region and using it as an international toxic waste dump. This region is known as "The Great Concavity", probably because of its shape, but possibly because of the frequency of babies born missing a skull.
Canada, Mexico, and the US are now part of a larger nation, known as the Organization of North American Nations, aka "ONAN", which may or may not be a reference to the Bible's most famous masturbator.
The novel follows dozens of characters and multiple story lines. Some are in a private Massachusetts high school that focuses on educating elite tennis players; others are in a nearby drug and alcohol rehabilitation center; still others are involved in international intrigue, espionage, and terrorism.
There is no shortage of quirky characters in Wallace's novel. Most are neurotic and some border on psychotic. Characters are damaged in a variety of ways, from being abused as children to the suicide of loved ones to drug addiction. One beautiful girl had acid thrown in her face by her mother, who was aiming for her philandering father.
They all search for happiness, but not seem to find it.
It's a difficult book to follow for the following reasons
-It is extremely long, has many characters, and many subplots
-It contains hundreds of footnotes and some of the footnotes have footnotes
-It sometimes switches backward and forward in time and even to long descriptions of characters' dreams
Some of the storylines came together; but many did not (or, if they did, I didn't see it). And that frustrated me.
Having said that, I did enjoy Wallace's writing and the characters he created and the imagination he put into individual scenes. But I failed to see the overall arc of the novel.
I'm tempted to read this book again to catch what I missed, but the 1000+ pages makes that a daunting task.
Episode 585
Angela Dugan describes shat she is doing to improve communication and dynamics within her team.
The Heart is A Lonely Hunter - Carson McCullers's debut novel - tells the story of marginalized, working class people in the US south, struggling to survive during the Great Depression.
The novel focuses on five characters:
Mick, a teenage tomboy growing into a young woman, who dreams of escaping to a better life;
Jake, an alcoholic socialist, frustrated by his inability to convince others of the rightness of his opinions
Biff, the saloon owner, who observes everyone, but is close to no one - not even his wife
Dr. Copeland, an idealistic black physician, striving to make life better for his people; but failing to connect with his own family.
John Singer, a deaf mute, whose best friend Spiros Antonapoulos (also a deaf mute) is institutionalized.
The lives of these characters intersect, but they fail to communicate effectively or truly connect with one another. The main characters suffer from common problems, but few try to know one another.
Singer is the glue that holds them together. Everyone feels they can confide with Singer because, despite his inability to hear, they believe he is the only one who understands them and their ideas. He is the only one who makes an effort to understand or to pay attention or to reach out. Ironically, the deaf man is the best listener.
Each considers Singer a friend; but Singer himself counts only Antonapoulos among his friends.
This is a story of loneliness and isolation; of poverty and segregation and institutional racism; of alcoholism and fanaticism.
I loved Mick; I loved Singer; I loved the idea of the other characters, written brilliantly by McCullers.
There are few happy moments in the narrative, and it ends with a domino effect of tragedy as each character loses the one person giving them hope.
But it is not without hope. And the beautiful writing of McCullers gives the novel a depth that kept me engaged throughout.
Episode 584
Phil Japikse on .NET Core Support Cycle
Most people are unaware when support expires for each version of .NET Core. Phil Japikse explains the rules and how you can protect yourself.
Virginia Woolf divides To the Lighthouse into three distinct parts.
In part 1, the Ramsay family vacations at their summer home on the Isle of Skye. Young James hopes to visit a nearby lighthouse and his father seems to take delight in telling him that the weather will be too rough to make the trip, which disappoints the boy and contradicts his mother's promise.
In part 3, the family returns to their neglected vacation home 10 years later and plan again to visit the lighthouse - this time successfully to the delight of the adult James.
Parts 1 and 3 cover only 1 day each, while the much shorter part 2 covers the 10 years between, in which World War I occurs, children grow up, and several members of the family die.
Very little happens in the two longer chapters: A family conversation; a dinner party; a trip across the bay.
Even the dialogue is sparse: a few words are exchanged, followed by the inner monologue of everyone in the room. Often, they seem to know the thoughts of each other, although they don't always respond to them.
Woolf writes with an economy of words - both in her dialogue and in her narration; but she somehow provides the reader a glimpse inside her characters.
Mr. Ramsay is cold and stern, yet craves love and validation from his wife.
Mrs. Ramsay tries to balance the emotional needs of her husband and her children.
Spinster Liby, who takes 10 years to complete a painting, plagued by self-doubt and the insults of a misogynistic neighbor
Points of view switch rapidly, which can make the novel difficult to follow.
The novel is filled with symbolism and references to Woolf's own life (her family used to vacation by the sea when she was a girl). Liby emerges from the background of part 1 to be a key figure in part 3. Upon completion of her painting, Liby is a clear stand-in for the author, who struggled to be taken seriously in the early 20th century patriarchy.
Lighthouse as a metaphor. Always there; always available; but the family defers the joy of visiting it until it is too late for some of them.
I deferred the joy of reading this novel long enough.
Yesterday's keynote at Microsoft Ignite was hosted by CEO Satya Nadella, but featured demos and presentations by many others from Microsoft and its partners.
Highlights of the 112-minute keynote were
Personally, I plan to explore Power Automate, Power Virtual Agents, and Visual Studio Online first.
You can view a recording of the keynote here.
Below are my notes while watching the keynote:
Azure Stack Edge
Hardware with built-in Azure services
GPUs
Rugged series
Portable
For harsh environments
Azure Stack Hub
Azure Stack VI
VMs in Azure
Azure Arc
Extend azure services to my datacenter
Access to Azure security
Policies
Geo-replication
Between:
on-premise data
Azure datacenter
AWS
Azure Synapse
Telemetry
App metrics
Analytics
Fast query of telemetry data
Integration with PowerBI
Autonomous System
Simulation environments
Self-driving vehicles
Azure Quantum
Open platform
3 partners
Toolkit
Quantum algorithms can be run on classic hardware
Cyber Security
Last year cyber crime cost $1 trillion
Microsoft endpoint manager
Deploy policy to all data and locations
Tools
Visual Studio online
In-browser IDE
Existing tools
Intellicode
LiveShare
GitHub
Power Platform
"Citizen Developers"
Power Automate
Connectors for business applications
API connectors
Record UI steps
Power Virtual Agents
Language understanding
Uses Bot Framework
Customer Insights
Data platform
Pre-built connectors
Aggregated data stored in Azure
Can run analytics with Synapse (see above)
Productivity Cloud
Built with M365
Human attention
Microsoft Teams
Project Cortex
Converts data inside your organization into knowledge
e.g.,
look up acronym meaning in email
Find experts inside organization on a given topic
Ask contract: when is first payment due?
Voice Enhancement feature
Remove background noise to hear voice more easily
Whiteboards
Detect whiteboard
Make people transparent as they walk in front of white board
Fluid
Connections between applications across devices
Microsoft Edge browser update
Chromium browser
Faster
Runs on multiple operating system
Drag and drop pages, images, and metadata on right of browser
Share
Export to Excel
Bing
Search internal sites, along with the web
Internal information shown at top of search page (semantic understanding of question and information)
Power BI results output integrated
Minecraft Earth
VR
Multiplayer
Episode 583
Edward Thomson on GitHub Actions
GitHub Actions is a new feature at github.com allowing users to run custom code on GitHub. Edward Thomson describes this feature and how to use it.
11/3
Today I am grateful to watch my son's first game as a head coach yesterday at Kalamazoo College.
11/2
Today I am grateful to have no work travel for the past month.
11/1
Today I am grateful for the first snowfall of the winter.
10/31
Today I am grateful to see John Hiatt in concert last night.
10/30
Today I am grateful to attend the Grand Opening of the Chicago Microsoft Technology Center yesterday.
10/29
Today I am grateful to volunteer yesterday for the Hero Box event with my co-workers
10/28
Today I am grateful for all the Trick-or-Treaters who came to my door yesterday.
10/27
Today I am grateful for my new eyeglasses.
10/26
Today I am grateful to get my bike repaired.
10/25
Today I am grateful to see Incognito in concert last night with Thad.
10/24
Today I am grateful for a visit to the Elks National Veterans Memorial in Chicago.
10/23
Today I am grateful for my first visit to the Museum of Contemporary Art yesterday.
10/22
Today I am grateful to see Madonna in concert for the first time.
10/21
Today I am grateful to randomly and unexpectedly meet a former NFL player yesterday.
10/20
Today I am grateful to see Kansas in concert last night and my first visit to the Genesee Theatre.
10/19
Today I am grateful to attend an excellent Willie Nile concert last night.
10/18
Today I am grateful for a nice kitchen in my home.
10/17
Today I am grateful to be able to watch movies at home.
10/16
Today I am grateful for $1 tacos at Flaco's Tacos on Tuesdays.
10/15
Today I am grateful for the hospitality and generosity of Jay and Christina.
10/14
Today I am grateful for 6 years working at Microsoft and all the amazing people I've learned from.
10/13
Today I am grateful to attend my first Vegas Golden Knights game last night.
10/12
Today I am grateful to go to the Henderson, NV Harvest
10/11
Today I am grateful to present at the Las Vegas .NET User Group for the first time.
10/10
Today I am grateful for:
-Everyone who agreed to an interview this week at VSLive.
-Dinner last night with J., Walt, and Jim
10/9
Today I am grateful for lunch yesterday with Tim and Nick.
10/8
Today I am grateful for the memories of good times.
10/7
Today I am grateful to see the US Women's National Soccer Team play Korea yesterday at Soldier Field.
I love that John Hiatt seems to love performing.
Hiatt is not known for recording hit songs. Bonnie Raitt, Joe Cocker, Three Dog Night and many other artists have reached the charts with covers of his songs.
But Wednesday night at the City Winery, he was on stage performing his own songs to a full house with a smile on his face.
He didn't have a backing band; He didn't need one. Hiatt accompanied himself on guitar and (sometimes) keyboards and sounded as he sang. His voice still sounds good and still maintains that midwestern twang; and, if he struggles to hit high notes, he does so with passion.
The Indianapolis-born troubadour performed for about 100 minutes and seemed to gain strength and energy as the night went on.
With dozens of albums and hundreds of songs in his catalog, he had plenty to choose from and we heard some of his best, including "Thing Called Love", "Crossing Muddy Waters", "Have a Little Faith in Me" and "Lift Up Every Stone".
He returned to the stage to sing "Memphis in the Meantime" as an encore to a standing ovation.
His joy in playing came across to the audience. And hopefully our joy in listening came across to him.
GCast 65:
Artificial Intelligence, Whale Sharks, and WildBook
With help from Microsoft's AI for Earth, Wild Me has created WildBook to use artificial intelligence to track the location and migration of animals.
Episode 582
Blazor is a framework for building full-stack web apps in the browser using C#. Jeremy Likness describes how it works and how to use it.
I wasn't familiar with Incognito, the acid jazz band formed in the early 80's in the UK; but my friend Thad was a big fan. He called to suggest we see them at Park West Thursday evening, so I listened to a couple of their albums and I was sold.
Their live performance did not disappoint. Incognito founder Jean-Paul "Bluey" Maunick has assembled a talented group of musicians from all over the world (UK, Jamaica, Trinidad-Tobago, China, Italy, US) and they played and sang a set of tight arrangements that delighted a nearly full concert hall.
Bluey brought a long 4 singers. All were excellent, but the featured singer was Maysa Leak (aka "Maysa"), who has carved out a solo career for herself and impressed with both her range and her emotion.
Highlights of the night included a cover of Ronnie Laws's "Always There" (Thad's favourite song), "Deep Waters", which featured a medley of love songs, and a long jam on their penultimate song that featured an excellent solo by every member of the 9-piece band.
Incognito did not come back for an encore, but it felt like enough. Everyone felt the energy, and everyone left satisfied.
Madonna never does anything halfway.
Monday night was her third of seven shows at the Chicago Theatre and she did not disappoint.
The show opened with a silhouetted typist loudly pounding out a James Baldwin passage on an old typewriter. A dancer jerked as each word appeared above the stage until he was shot dead. The quote was about art and artists and truth.
Then, the curtains drew, and Madonna appeared, dressed as a pirate, surrounded by dancers and a large American flag and a set consisting of multiple moving staircases.
The evening's show featured multiple costume and set changes and switched between tightly choreographed numbers and Madonna chatting casually with the audience. It lasted over two hours.
While Madonna did sing a few songs from the 1980s, when she regularly topped the charts ("Express Yourself", "Vogue", "Papa Don't Preach", "Like A Prayer"), most of the evening was devoted to her newer works. Madonna now makes her home in Lisbon and she brought guests to the stage, including a group of Portuguese singers performing energetic harmonies; and a guitar player performing an excellent solo, which launched into the lead singer's medley.
Dressed as the enigmatic one-eyed Madame X, she preached her political philosophy of independence, freedom, and tolerance throughout the show, mixing this with a bit of potty talk.
She closed with all the singers backing her up for "I Rise" as they marched into the audience and out the back of the theatre.
The show reminded me of a Broadway production more than a concert.
Sometimes, I will hear a song and it will take me back to the time I first heard it - to the friends I was with and where we were and what we were doing and what I was feeling. A familiar song can bring happy memories and sad memories flooding back.
When I listen to the progressive rock band Kansas's "Leftoverture" and "Point of Know Return” albums, I'm transported to my high school days. I bought these 2 albums within months of each other and they were among the first of couple dozen albums of the thousands I eventually ended up buying.
Saturday night at the Genesee Theatre in Waukegan, IL, I felt I was surrounded by kindred spirits. The heads covered in gray hair (or lacking hair) suggested a crowd that also lived their youth in the 1970s. And the fact that so many gave a standing ovation after every song suggested that the memories invoked by the song were as important as the current performance of the song.
After 5 decades, only 2 founding members of Kansas remain - guitarist Rich Williams and drummer Phil Erhart. But the current members still respect the old songs and performed them very well. Original lead vocalist Steve Walsh is gone, but Chicago native and former truck driver Ronnie Platt sounded a heck of a lot like him; and David Ragsdale played an excellent electric violin, reminiscent of original violinist Robby Steinhardt, who gave Kansas its distinctive sound during their late 70s peak.
At Genesee, they played over half of "Leftoverture", including "Miracles Out of Nowhere" (my personal favourite) and "Carry on Wayward Son" (the evening's encore).
But the main draw of the performance was their "Point of Know Return", which the band played in its entirety. Hearing the tracks in order was like sitting in my parents’ basement with the stereo turned up loud while I pored over the lyrics, liner notes, and cover art. I was transported.
As were all the old folks around me.
Episode 581
Laurent Bugnion on the Ignite Tour
The Microsoft Ignite conference takes place in November in Orlando, FL; but not everyone can attend.
So, Laurent Bugnion and his team are organizing the Ignite Tour, bringing much of the content to 30 cities around the world in the months following the conference.
Laurent discusses what people can expect at these events.
"I love quality" announced Willie Nile from the stage to the audience at SPACE in Evanston Friday night. And quality is what he delivered. From his 90-minute set to his excellent band (I was impressed by his new lead guitarist Jimmy Bones) to his charming demeanor to the warmup band (Georgia singer/songwriter Brad Ray, accompanied by his father).
If you don't know Willie Nile, you are not alone. He has carved out a successful career, recording a dozen studio albums that satisfied his fan base; but he has never cracked the top 40.
His music is old school rock and roll with cerebral lyrics. Think of Lou Reed crossed with Bruce Springsteen, crossed with the Clash.
With decades of material on which to draw, Nile had many quality choices. And he delighted the crowd with rockers like "House of a Thousand Guitars" and "All Dressed Up and No Place to Go", along with thoughtful slow songs like "The Innocent Ones", which he dedicated to the Kurds fighting for their lives in the middle east. For "The Streets of New York", he set aside is guitar and sat at the piano.
The band closed with a rousing rendition of "One Guitar" in which they were joined by Brad Ray and his dad).
Willie Nile stands about 5-foot-nothing and has sported a Cosmo Kramer haircut since years before there was a Cosmo Kramer. But Friday night in Evanston, he cranked out house rocking music a hundred feet tall.
And everything he did was filled with quality.