Here's the MN Shortlist for May 22-28



Pen, ink and gouache piece

Artists investigate what it means to neighbor, “What the Constitution Means to Me” comes to Artistry, a Red Eye Theater experimental bonanza, new local “sad boy” music and hot glass art — find out more in this week’s MN Shortlist.

Two art shows about ‘neighboring’ in Minneapolis — Through June 20

Attention Merriam-Webster, Oxford and other English dictionaries! Here is my official plug for the word of the year: Neighbor, or some variation thereof. In Minnesota, that term has taken on deeper meaning in 2026, and it has become a source of inspiration for artists.

Case in point: two art exhibitions are currently up that explore what it means to neighbor. “Neighboring: On care, connection and the quiet strength of showing up,” a group show at the Douglas Flanders & Associates Gallery, and “Neighborisms,” a solo show by Julie Buffalohead at TOA Presents.

For the latter, Buffalohead has created new works on paper featuring her signature painted animal coterie that “embody the range of emotions felt – and the actions undertaken – by the people of Minnesota throughout the [Operation Metro Surge], calling out the wrongdoings of ICE agents while formulating community-driven resistance to occupation.” (Alex V. Cipolle)

‘What the Constitution Means to Me’ at Artistry Theater in Bloomington — through June 7

Playwright Heidi Schreck paid for college through winning constitutional oratory and debate competitions. That experience serves as the basis for her 2017 play “What the Constitution Means to Me.”

In the play, a fictional version of Schreck rediscovers one of her speeches about the Constitution that she delivered at American Legion halls in her teens. What follows is an examination of the Constitution — especially the Ninth and 14th Amendments—while even questioning if we should abolish the current Constitution to create a new one. (Jacob Aloi)

Crop art
Fairgoers view the crop art exhibit on the first day of the Minnesota State Fair in Falcon Heights.
Ben Hovland | MPR News 2025

‘Second Glance Crop Art Exhibit’ at Kickoff to Summer at the fair — through May 24

If the Minnesota State Fair is the unofficial end of summer, the Kickoff to Summer at the Fair is the unofficial start of the season. What I think of as a “mini-fair” keeps growing, and this year, for the first time, organizers are bringing back a selection of crop art pieces to view.

Considering how long the lines are during the State Fair, the exhibit gives crop art enthusiasts a chance to spend more time up close admiring the artistry of the folk tradition, which has gained popularity since it was featured in exhibitions at the Smithsonian and the Minneapolis Institute of Art in 2025. (Lisa Ryan)

A dancer performs
Choreographer and dancer Leila Awadallah, pictured at The Cowles Center for Dance & the Performing Arts in 2024, will perform in the Red Eye Festival.
Kerem Yücel | MPR News

Red Eye Festival in Minneapolis — through June 13

If you need more locally inspired experimental art in your life, the Red Eye Theater has you covered for at least the next month with its “Works-in-Progress” festival (formerly known as New Works 4 Weeks Festival).

The first batch of performances this weekend — a mix of dance, storytelling, satire, sound and textiles — includes “Dear Mom My Gut is Your Gut” by Edna Hand, “A Waiting Room” by Jarek Pastor, “planet of disruption” by Gaya Sani and “trans soils, borderless bodies” by Río Saúl. Saúl says the multimedia performance explores land and gender through “memories of my grandfather, plants, and a small gay bar.”

Also look for the group performance “an experiment in wielding ripples of vibration | INTIFADA INCANTATION” June 11-13 led by star dancer-choreographer Leila Awadallah, a Palestinian American who describes her approach as centering “Palestine, a body-as-homeland practice.” (Alex V. Cipolle)

An image of red and orange clouds.
"Orange and Red Clouds" is one of 60 works on view by George Pfeifer at The Rourke Art Gallery + Museum in Moorhead.
Courtesy The Rourke Art Gallery + Museum

For more than six decades, the Fargo-born, St. Paul-based artist George Pfeifer has been making landscape art that ranges from realistic paintings of Midwest nature to pop art depictions of fields and skies.

The Rourke Art Gallery + Museum is marking the 60th anniversary of Pfeifer’s first solo exhibition at the Moorhead artist institution with a sprawling retrospective –— 60 artworks will be on view — through Aug. 9.

“George's work is central to the development of the art scene here in the Red River Valley,” Rourke executive director Jonathan Rutter told MPR News.

Rutter says the gallery opened in 1960, and Pfeifer was involved since the beginning.

“He started out as a teenager taking art classes at the old gallery, and very soon it became clear that he was a capable and really adept artist, and one who had tapped into broader cosmopolitan art movements and made them something local to Minnesota.”

Pfeifer will give an artist talk 2 p.m. Sunday, May 24. (Alex V. Cipolle)

Jeremy Messersmith’s ‘Fox/Coyote’ at The Great Big Jamboree — May 23

Known for his clever lyrics and haunting “sad boy” music, Jeremy Messersmith is a darling of the Minnesota indie music scene. On his 2026 release, however, he taps into his most mischievous energy.

“Fox/Coyote” can be streamed on various platforms, but it also comes as a vinyl LP (Fox on side A, Coyote on side B) which features relatable songs like “Huckleberry,” about the people in your life who you know are toxic but you just can’t shake, to earnest songs like “The View,” which feels like a love song about repairing a relationship, even if it’s only temporary. The album took several years to create.

jeremy messersmith performing on stage
Jeremy Messersmith, pictured here at the Parkway Theater, will perform May 23 at The Great Big Jamboree at Hyland Hills.
Juliet Farmer for MPR

“The album that I started making is very different by the time I finished with it,” Messersmith said, acknowledging that the last few months have been difficult for Minneapolis in the wake of the immigration enforcement surge that left two U.S. citizens dead.

“You just have to have a bit of faith…that the songs will kind of find a home in people's hearts, or it'll do what it needs to do,” Messersmith told MPR News.

You can hear Messersmith play from the new album May 23 at The Great Big Jamboree in Bloomington. (Jacob Aloi)

‘Kilnforming in the Upper Midwest’ at Foci Minnesota Center for Glass Arts — May 22-July 22

Foci, a Minneapolis hub for glass arts, is opening a juried exhibition that “highlights the creative breadth and technical innovation of kiln-based glass practices across the region.” As the name implies, kilnforming is a type of glass-working that uses a kiln versus, say, glassblowing or lampworking.

The exhibition features some fascinating pieces by artists based in Minnesota, Iowa and Wisconsin that demonstrate the medium’s range, from spindly crystalline towers to ethereal glowing faces. There will be an exhibition reception Saturday, May 30. (Alex V. Cipolle)

Two metallica sculptures in a gallery
Foci Minnesota Center for Glass Arts opens the juried exhibition "Kilnforming in the Upper Midwest." Credit: Foci Minnesota Center for Glass Arts
Courtesy Foci Minnesota Center for Glass Arts



Source link

Leave a Reply

Subscribe to Our Newsletter

Get our latest articles delivered straight to your inbox. No spam, we promise.

Recent Reviews


Python Generators – Table of Content

Generators

The main purpose of a generator is to help us in creating our own iterators. It is a special type of function that returns an iterable set.The iterators that we create with the generator are referred to as lazy iterators. The contents of lazy iterators will not be stored in memory.If you want to iterate through large files, data streams, CSV files, etc., generators will be a good choice.Generators are introduced in PEP 255 and they are available since python 2.2 version.

How to create generator functions

Let us create a sample generator. Create a new file in any text editor and copy the below code.

def sample():

a = ["Hello", "Welcome"]

yield a

for i in sample():

print("This is a sample generator")

In this code, the sample() is the generator function name. Yield is used to return items to the caller. Unlike return in normal function, you won’t exit the function here. Once a generator is defined, it is called similar to a normal function. But the execution gets paused when it encounters a yield keyword.

Save the file with script.py as the name. Open command prompt, navigate to the script file location path, and execute the below command.

python script.py

You should be able to see an output that says ‘This is a sample generator’ on the command prompt. Let us look at one more example that returns squared root numbers to the range of numbers defined.

def Squared_numbers(num):

for num in range(num):

yield num**2

for i in Squared_numbers(5):

print(i)

This program calls Squared_numbers generator with 5 as a range. The generator will iterate from 0 and yields the square root of 5 numbers. The output for this program will be as follows.

0

1

4

9

16

Importance of yield statements in generators

Yield controls the flow of a generator function. When we call a generator expression or a generator function, we will get an iterator in return. This is nothing but a generator. 

We have to assign the generator to a variable and then use it. When we call a generator function, it only gets executed until it encounters a yield statement. The yielded value is sent back to the caller. 

  Become a python Certified professional  by learning this HKR Python Training !

Python Training Certification

  • Master Your Craft
  • Lifetime LMS & Faculty Access
  • 24/7 online expert support
  • Real-world & Project Based Learning

Creating a generator object with generator expressions

Generator expressions are similar to list comprehensions. They help us to create a generator object with minimal code. We can create generator objects that do not hold the entire object in memory before iteration. Let us create a list and a generator object and look at the difference between the two.

#Creating a list

numbers_list = [num for num in range(5)]

#Creating a generator object

numbers_generatorObject = (num for num in range(5))

#output

numbers_list

numbers_generatorObject

In the above code, we have created a list and a generator object for numbers. The syntax will be very much similar, but the difference will be the type of parentheses that we use. When you execute the above code, this will be the output.

[0, 1, 2, 3, 4]

at 0x7f776b77dd58>

You can observe here that the numbers_list is a list, so the numbers were printed on the command line. Whereas the numbers_generatorObject has got created as a generator object. You can also see the location at which the generator object is created.

Evaluating generator performance

As I mentioned before, generators optimize memory. Let’s consider the same example that we have taken above and increase numbers up to 150. Let us see how much size the list and generator objects take to hold the same numbers. Here is a small program that we can use to get the size.

import sys

#Creating a list

numbers_list = [num for num in range(150)]

print("The size of the list is", sys.getsizeof(numbers_list))

#Creating a generator object

numbers_generatorObject = (num for num in range(150))

print("The size of the generator is", sys.getsizeof(numbers_generatorObject))

The output for the above program will be as follows.

The size of the list is 1448

The size of the generator is 88

You can see that the list took 1448 bytes, whereas the generator object is only 88 bytes. You can observe a huge difference when you work with a larger dataset.

Acquire NLP certification by enrolling in the HKR NLP Training program in Hyderabad!

HKR Trainings Logo

Subscribe to our YouTube channel to get new updates..!

Advanced generator methods

Generators provide three special methods which were introduced in PEP 342 and is available since the python 2.5 version.

send() – It is a method used to send values to the generator iterators. The value specified in the send() method is used to continue with the next yield. If we do not pass any value to the send() method, it will be equivalent to the next() call. 

throw() – It is a method used to throw exceptions from the generator. We can add a throw() method when we might need to catch an exception. The value or exception specified in the throw() method will be sent to the caller.

close() – It is a method used to stop a generator. This will be really helpful when we want to stop a program when it goes into an infinity loop. 

Realted Article, List to String in Python !

Creating data pipelines with generators

When you have a huge dataset that needs processing, we can’t really do all the processing at a single place. To avoid this, we can create a pipeline. Each method in a pipeline receives an item, applies transformations on it, and returns the transformed item. This way, we can even change the order of transformations.

For example, if we want to process data in a CSV file, we have to read all the lines of data in the file. Identify the column names,split each row into a list of values,and filter out any unwanted data.Create dictionaries for the column names and lists.Apply the transformations that you want on the rows. All the created generators will function as a pipeline.

  Top 50 frequently asked Python interview Question and answers !

Python Training Certification

Weekday / Weekend Batches

Conclusion

As you have learned, generators simplify code. Generator expressions simplify code much further. They might be a little confusing at first. But when you put enough effort and practice them, you will get to understand them completely. Then you will know how easy it is to code in python with the help of generators.

Generators are especially useful when dealing with huge datasets.We can create pipelines and make the developer’s job easier.The calculations on data will be performed on-demand. We can use generators to simulate concurrency.Enjoy coding with python!

Related Articles:

1. Python Partial Functions

2. Python Split Method

3. Running Scripts in Python

4. Python List Length



Source link