text:
Ticket Happy Parking Officer or Something Else?
I noticed walking this morning Sunday 5/25 that every car parked along S Wabash in the Mon-Fri 2 hour parking and and free parking along 14th place around Coliseum park were ticketed.
I was curious why this was the case since I usually have friends park in that area when they visit. My curiosity got to me so I actually looked at one of the tickets to see what it was for and it said "Parking in a residential permit zone"
Do you know anything about this? There are no new signs saying this is a residential permits zoned area. Maybe just a ticket happy parking enforcement officer?
This is the first we heard of this. Anyone have any ideas or face any similar issues?
(Hat tip: ME!)
Gadget Geeks Aiming for Mid-June Opening at 620 S. Dearborn
620 S. Dearborn (in the Transportation Building) is being divided into two spaces/businesses. To the north- Gadget Geeks for computer and cell phone repairs, expected to be open mid-June to the south- a personal trainer (per the Gadget Geek guys; they didn't have more info) the street numbering for the two businesses has yet to be worked out.
That space has been empty for the longest time.
So glad to have them coming!
We also heard from the Gadget Geek owners recently:
My business partner and I have the opportunity to open our own store in South Loop called Gadget Geeks that focuses on providing mobile device repair services, consulting, and innovative accessories to consumers and small businesses in our area. One of the aspects of South Loop that we love is the variety of different residents and people that frequent this area....runners, bikers, readers, dog-lovers, music-lovers, etc. There are so many different gadgets and accessories that support these different lifestyles, and Gadget Geeks aims to be the "one-stop shop" for these devices and any repair services needed.
We are in the process of renovating our store (located on Printers Row at 620 S. Dearborn) and anticipate opening in mid June. Thanks for your help, and I look forward to hearing back from you!
Another reader writes something similar but apparently the business to the South isn't happening:
The space to the left with the double doors was supposed to be a "fitness related" business, however the for-lease sign went back up in the window so maybe that is not happening anymore.
(Hat tip: GM, TR, V808, RB, MM, K, MJ, GM, BT!)
Petco Officially Open on 611 W. Roosevelt Road
Well we missed their grand opening, but regardless pet owners/lovers have a new place to shop in the Sloop:
Business counter has been updated!
(Hat tip: NR!)
Sloopin Brew Update: Broad Shoulders Brewery Re-brands as Motor Row Brewery, South Loop Brewing Company Reaches CrowdFunding Goal, and Vice Brewery Buildout Begins
Broad Shoulders Brewery has sparked a lot of interest from various people in and around the Sloop, but has had a rough go on their attempt to open their doors. We first wrote about it in 2011.
Fast forward two and half years later and they're still pressing forward.
Over the past couple of weeks various readers have let us know that they've changed their name and our shooting for a fall opening:
They're changing the name of their brewery (2337 S Michigan) from Broad Shoulders to Motor Row Brewing. Also, buildout is moving along and he is shooting for an August 1 opening.
I know its been a long time coming, but it sounds like he's getting close. Plus, I guarantee it is going to be worth the wait. I have tried a few of his beers and they are fantastic.
Sure enough the website confirms this.
Their facebook page does a decent job with updates so you can check that out. Judging from that, they still have a little ways to go.
Back in December of 2013, South Loop Brewing launched a crowdfunding initiative to bring a tap room to the Sloop. We just went back and it looks like they exceeded their goal - congrats! They raised $23,785! While we didn't see any official update, we did find this on a blog called guysdrinkingbeer.com:
South Loop Brewing is planning to brew at Une Année for a year or so before hopefully moving into their own digs. They don't have a location pinned down yet but are eying the area of the South Loop bordered by Roosevelt Rd to the north, 18th St to the south, Clark Street to the west and Michigan Ave to the east.
Hopefully they find a place soon!
Finally it seems like the guys at Vice District Brewing are moving at a feverish pace. We learned about the project in January. Read about additional plans in Crain's in April. And now a reader sent us an email blast they received in May:
We wanted to thank you for your patience and support over the past few months. We're proud to announce that we now have our Brewer's License (as of today). We are scheduled to begin the buildout in the coming weeks. What this means is that you'll be hearing a lot more from us regarding our beers and the specifics of our grand opening in the next two months.
If small batch craft beer is your thing, it looks like the Sloop is going to be home to a variety of great spots for you. We wish them all the best and can't wait to sip some of their brews!
(Hat tip: DM, CL, AR, JC!)
New Midway Landing Pattern Over the Sloop?
Anyone else excited about the new Midway landing pattern that has all these Southwest 737s on final approach over the Sloop?!
It's funny because we just were on a Southwest flight and noticed that we flew right over the Sloop. We didn't think much about it at the time, but now that the reader mentioned it we're thinking some more about it.
Not sure why it makes you excited...seems more a nuisance to us, but whatever floats your boat!
(Hat tip: ML!)
JTA Schools Moving to 80 W. Harrison
New day care is moving into the NE corner of Harrison and Clark
This would make sense. Some informed readers had a couple comments on an old post we did outlining that Kids & Company was replacing JTA at 1255 S. State.
Not sure what exactly transpired to make JTA move, but apparently they aren't going out of business and instead are opening up a little further north. Good to see visual proof!
(Hat tip: KJB!)
White Collar Crime at 1255 S. State
1255 S. State (via Crain's)
If you're interested in some white collar crime, Crain's has a story for you (in case you missed it last this week):
Condominium developer Warren Barr and five associates face federal criminal allegations that they orchestrated a $23 million loan fraud scheme at a South Loop condominium project.
Warren N. Barr III, 62, of Riverside and the five other men were charged with defrauding lenders by providing misleading information on about 60 mortgages for purchases of condos in the Vision on State tower at 1255 S. State St., according to a 13-count indictment filed yesterday in U.S. District Court in Chicago.
They are charged with taking part in a scheme to sell units at artificially high prices, boosting sales in the 253-unit building and misleading lenders by secretly funneling down payments and assessment fees to so-called straw buyers.
(Hat tip: AR & VC!)
Memorial Day Gratitude
To all those who have served - thank you!
Shots Around the Sloop: Storm Season Kick-Off
(Hat tip: KQ & JD!)
Roosevelt Collection Is Paying Off for Investor McCaffery
For those of us who are fascinated with business case studies, the story of Roosevelt Collection is an excellent one on the chaotic uncertainties associated with real estate (via Crain's).
We're not real estate investors, but it didn't take a rocket scientist to understand that Roosevelt Collection has immense upside and opportunity. Not saying it was easy for McCaffery and associates to make Roosevelt Collection a success, but to a layperson it seemed like it was inevitable (granted you have to have a lot of credit/cash to be able to pull off a deal like acquiring this building and real estate).
Roosevelt Road has dramatically changed over the past decade and in another 10 years our guess is that it will continue to expand into a busier and more vibrant commercial and residential corridor.
(Hat tip: AR!)
WOW - Look at Northerly Island!
Yesterday we were reading Curbed Chicago and came across something that stopped us in our tracks - an arial picture of the progress at Northerly Island:
Pretty amazing that this much progress has been made (not sure why - but it looks pretty striking). For some reason, we were very skeptical of this project. We even went back to a post we did in April and this has been the plan all along.
However, seeing it in this manner really brings it into focus for us. Looks pretty sweet and can't wait to check it out.
Anyway, Curbed provides some additional information:
Northerly Island's $7 million makeover is still underway, however, according to a recent update on Facebook, the city hopes to have the first phase of the island's massive construction effort completed by this summer. The 91 acre man-made peninsula was once the home to Meigs Field, a single strip airport that was famously bulldozed in the middle of the night on orders from Mayor Richard M. Daley. However, several years after the famous incident took place, a dramatic plan to turn the small island into an urban oasis was presented. Hometown architecture heavy-weight Studio Gang was tapped to develop the master plan and came up with a vision that called for five different ecosystems with winding trails and a deep-water lagoon.
Pretty interesting!
May "The Force" Be Coming to the Sloop?
Image via Curbed Chicago
Big news around Chicago recently was that the task force for the city's bid for the George Lucas Museum has suggested that the museum be built south of Soldier Field (via Tribune):
A task force appointed by Mayor Rahm Emanuel has recommended the parking lots to the south of Soldier Field as the home for filmmaker George Lucas' collection of art and movie memorabilia, should the 'Star Wars' creator choose Chicago over San Francisco for his planned museum.
Lucas is expected to select a site for his Lucas Cultural Arts Museum this summer, according to a museum spokeswoman.
Upon first blush, this seems like it would be a great thing for Chicago and the Sloop. However, Bears fans might not be happy because it seems like it could alter tailgating drastically.
That doesn't seem like a good reason to shoot this down. The Tribune has a great summary on the situation. For us we would love to see this happen. A world class museum is better than a parking lot (this I know to be true).
Besides the museum, it sounds like the area would get major infrastructure improvements. The Sun Times provides a couple highlights:
Building a "pedestrian connection" from the Lucas museum to Northerly Island — either a bridge or a "mid-harbor crossing that prioritizes pedestrians, cyclist and non-motorized transit" — to reduce traffic volumes on the few roadways that connect Northerly Island to the museum campus.
Upgrading the 18th Street entrance and exits to McCormick Place and the museum campus as well as the Roosevelt Road interchange.
However, reading between the lines, it seems like Chicago is a long shot behind San Francisco (where Lucas has lived most of his life). Obama museum seems ripe for Chicago. Lucas museum still feels like a long shot.
Thinking Kid-Friendly? Think Adler Place.
Surround your little ones with the charm of a budding local neighborhood sprawling with green parks, world-class museums, noteworthy schools and sporting events for all ages and seasons. Where "sweet dreams" are defined by contemporary interiors overlooking spectacular vistas, Adler Place offers you and your children endless discovery and room to grow. With the benefits of a bustling city paired with the tranquility of a protected community, it's no wonder why the South Loop is an ideal neighborhood to call home.
With amenities that ease the hassles of urban family living, Adler Place enables working parents to spend more time with those that matter most. The outdoor pool and sun deck complete with grilling stations are ideal for relaxing family weekends, playdates for the kids or hosting a gathering of friends. For active parents on-the-go, Adler Place houses a fitness center complete with cardiovascular training equipment, a sauna, a hot tub and his and hers locker rooms.
For more information, open houses are on Sunday from Noon-4 PM at Adler Place. Please call us at 312-662-1900 to schedule a private showing.
Learn more at Relatedsouthloop.com.
A Sloopin Fave:
Chicken Spinach & Guacamole Wrap at Cafe Society
We spend a ton of time talking about new things in the Sloop, but that doesn't mean we're only out there trying new stuff. Through the years we've encountered some things that really stand above the rest. You may not agree, but these things have truly become one of our favorite things around the South Loop (cue Sound of Music).
With that said, we're introducing a new feature on the blog called "A Sloopin Fave" where we will identify one little thing that continues to keep us coming back for more. It could be food, an event, a bike route or whatever - it's something that we truly love about the Sloop.
To kick it off, we're starting with the amazing Chicken Guacamole Wrap at Cafe Society (1801 S. Indiana):
Sitting in the serenely peaceful courtyard next to Cafe Society (1801 S. Indiana) is truly a pleasure. Couple that with a Chicken, Spinach & Guacamole wrap and we're in heaven (cue Outkast SpottieOttieDopalicious soundtrack). Not only is it an enormous portion, but it's pretty damn...damn....damn exotic.
It tends to explode in your hand, but that's not a bad thing. We're not a fan of super messy dishes, but the flavor makes up for that. The chicken is remarkably tender and actually has a subtle spiciness that we love. This blends perfectly with the other more mild ingredients of guacamole, spinach and tomatoes (note tomatoes aren't always included).
While that seems pretty pedestrian for a wrap, the sprinkled Parmesan cheese and drizzled raspberry dressing on top make this an amazingly savory and sweet blend of deliciousness.
We personally love the chaotic charm of Cafe Society. They're about to go through an evolution to Spoke & Bird, but we really pray that they don't lose the Chicken, Spinach & Guacamole wrap.
Porkchop Looks To Be Opening on Dearborn - Not in Roosevelt Collection?
In a slightly surprising move, Porkchop will apparently open up shop at 555 S. Dearborn (the old spot where Pockets was):
Perhaps it was the fake out we had a few months when Smoque turned out not to be a BBQ joint, but it looks like printers row is getting a place for ribs! Taking over the old Pockets location. An interesting companion to their upcoming Roosevelt collection. The awning is already up!
Why is this surprising you may ask? Well word just came out in April that they were going to open a South Loop location at Roosevelt Collection.
While we don't have this confirmed, it would seem like the Roosevelt Collection Porkchop won't be, right? I mean, why would you open up two BBQ stores so close to each other? While we think the neighborhood will be happy for some BBQ, it probably wouldn't necessitate multiple stores in one neighborhood.
Does anyone have any insight on this?
A reader provides an update:
I called an confirmed that they are indeed opening both locations!
So looks like Porkchop is looking to double down on the Sloop's desire for BBQ.
(Hat tip: BB, AD, TR, V808!)
Construction Season Underway at 1300 Block of S. Wabash and Michigan
If you live near 14th street and woke up to amazingly loud pounding noises recently, it's not because you had too much to drink last night. Construction is in full swing at 1345 S. Wabash, the new condo building being developed by CMK:
While this isn't really new news, there are also some other developments close by. It appears that construction for Lakeside Bank has finally commenced as judging by the fence that was recently put up at the corner of 14th and Michigan:
If you recall the renderings will look like this and be a much welcomed addition compared to the torn up parking lot:
It also looks like the rental building just north of the future Lakeside Bank headquarters is putting the final touches inside the old courthouse building at 1340 S. Michigan. The building is being marketed as Aviation Lofts and you can see some good pics/videos at it. They also have a good amount of history about the building. However, they conveniently left out the portion that the building was last used as the Cook County Circuit Court for divorces and family court in the 1980s and 1990s - maybe not the best selling point for young Chicago couples.
Finally, just north of Aviation Lofts is a small structure that was built by the team who was also working on the Lofts. We're not really sure what it is, but it resembles some type of retail. Does anyone have the scoop on this? Here is a pic we snapped recently:
Next year these two blocks are going to look much different and that's a good thing!
(Hat tip: RM!)
Shots Around the Sloop: Little Lights
(Hat tip: KK!)
Recently on the Sloopin Message Board....
Some recent chatter on the board:
Condos to be built over railroad tracks? by chicagogo
Loud Banging Noise by mattm
Moving Boxes Needed by Happy2BinSL
City Tavern Closing Today....For Good by somnia
Parking Space Needed by Chi312
Deluxe Indoor Garage Parking (810 S Plymouth ct) by Rz
Waffles by blarger
Looking to buy a 2 Bedroom in the South Loop by Peter Vanderveld
16th construction by spring88
National Teachers Academy (NTA) - CPS South of 18th by South Loop Mom
Swimming Pools by FarSouthLoop
1132 S WABASH by Steven
Adult Soccer in South Loop? by Sloopneighbor
1340 S. Michigan - Old Courthouse - Residence? by ssoehlig
Concrete planters at southwest corner of 18th and Clark by Don't Litter
8 New Fashion Photographs To Be Revealed as Part of Wabash Arts Corridor
Via Columbia College:
Plans are underway for Columbia College Chicago and the Hilton Chicago to unveil a series of eight 15-by-25-foot fashion photographs gracing the exterior of the Hilton Chicago, 720 S. Michigan Ave. The unveiling with city and business leaders is scheduled for Friday (May 16) at 1:30 p.m. at the corner of 8th Street and Wabash Avenue, during the college's annual Manifest Urban Arts Festival.
This project is an update and expansion of four large-scale student photographs installed on the building on Wabash Avenue a year ago. Students in Columbia College's fashion photography class, instructed by noted editorial fashion photographers John and Andree McArthur, worked in partnership with the Global Design Services Team of Hilton Worldwide to develop the initiative. Chicago-based IC Signs & Graphics printed the large-format digital photos, produced custom frames and installed the works.
This is one part of Columbia's annual Manifest festival that kicks off today as well. If you're curious there are a lot of events and most are open to the public. Here is a promo video:
Oh and if you're not sure what the Wabash Arts Corridor is check out this old post from Sloopin.
(Hat tip: AM!)
Bike Shop Moving into Heart of Printers Row (728 S. Dearborn)
It still amazes us that more of the retail space in Printers Row isn't occupied. It's one of the more visually appealing retail strips in the city if you ask us and seems ripe for more activity. Not saying there isn't activity, just saying it seems like it could be much much more. Maybe the rents too damn high...
Anyway, we do get excited when new stuff goes in on this stretch and it sounds like something interesting is coming:
Since no one seems to have any info, a friend took upon herself this morning, and talked to the builders…it will be a Bike Shop. In the old Medaterra/Gourmand space.
For those of you who don't know the Gourmand space is at 728 S. Dearborn.
Having a bike shop here makes a ton of sense to us especially given that it's on one of the main protected bike paths in the city (and the only one that goes through the heart of the loop).
Hopefully the rent isn't too damn high...and they can stay around for awhile!
Lights Go Out at City Tavern Ending a Tumultuous Ride
City Tavern garnered a lot of excitement when it opened in 2012. For many it was a sign that the neighborhood retail was starting to emerge from the fog of the real estate bubble and recession.
If you recall, City Tavern was one of four new eating/drinking establishments that were in the process of opening around this time in the spring of 2012. The other three were Alain's, Karamela's and Square One. Out of the four only Square One is going strong.
But that doesn't mean that City Tavern didn't have it's moments. The highlight was winning a Bib Gourmand Michellin rating in 2013. Unfortunately it was mostly downhill from there as the executive chef Kendall Duque unexpectedly left shortly thereafter.
After more various rounds of turnover in the kitchen, the whispers began to creep in on our message board and finally yesterday it was confirmed in various outlets (Chicago Tribune):
City Tavern (1416 S. Michigan Ave., 312-663-1278), a neighborhood restaurant in the South Loop, has closed.
Phones are not being answered, and the restaurant's website has been taken down.
In a terse email, the owners said, "Future plans for the space are undertermined at this time. Thank you for your patronage over the last two years."
We actually just had a decent meal at City Tavern, but for us it never really one of our favorites in the Sloop. Regardless we're still sad to see it go.
What we do know is that Mainstay Hospitality owns the building (and the building just to the South) as well as Chicago Firehouse and Wabash Tap. Something tells us this won't be the last we hear from them and the former space that included City Tavern and before that Grace O'Malley's.
(Hat tip: AS, BM, KZ, CPF, NL, BR!)
SXL Nails & Massage Spa Coming to 1460 S. Michigan
Looks like the Sloop is getting another nail and massage place:
This will be next to the Vice District Brewing spot that's planning to open in a couple months. So if you want a freshly brewed beer and a massage this is your spot.
2014 Festival Season is Upon Us
Wow what a beautiful Chicago spring weekend (minus Sunday evening)! If you weren't out enjoying the weather you were really missing out. With all the strolling around, it got us excited for festival season. Besides concerts and walks at Soldier Field (Jay Z & Beyonce) and Northerly Island (Phish, DMB, Widespread Panic, Backstreet Boys) we wanted to outline some of the festivals in our area (or within a close walk or ride). We found most on Metromix and Chicago Now, but let us know if we missed something:
May 16: Manifest Urban Arts Festival | South Loop
May 25: Bike the Drive | Lake Shore Drive
May 31: Chicago Veggie Pride Parade | Grant Park
May 30-June/1: Millennium Art Festival | Streeterville
June 7-8: Printers Row Lit Fest | South Loop
June 7: Chicago Food Truck Fest | U.S. Cellular Field
June 11 - Aug 16: Grant Park Music Festival | Grant Park
June 13-15: Spring Awakening | South Loop
June 13-15: Chicago Blues Fest | The Loop
June 19-21: Thai Festival Chicago | The Loop
June 21: L.A.T.E. Ride | Starts at Buckingham Fountain
June 21-22: Gold Coast Art Festival | Grant Park (Butler Field)
June 28: Chive Fest | Soldier Field
June 28: 2014 Chicago Dragon Boat Race for Literacy | Ping Tom Memorial Park
July 4: Fourth of July Fireworks | Navy Pier 9:30pm
July 9-13: Taste of Chicago | Grant Park
July 20: Chinatown Summer Fair | Chinatown
July 31- Aug 3: Fiesta Del Sol | Pilsen
Aug 1-3: Lollapalooza | Grant Park
Aug 23: Taste of Greektown | Greektown
Aug 23-24: Bash on Wabash | South Loop
Aug 28-31: Chicago Jazz Fest | Grant Park
Sept 26-28: Gourmet Chicago | Harris Theater and Millenium Park
(Hat tip: LL!)
Shots Around the Sloop: A Circle and A Spaceship
(Hat tip: YHL!)
Hat Tip T-Shirt Reminder
We're running out of Sloopin Hat Tip T-Shirts, so if you've gotten a hat tip you better claim your shirt quickly. We're out of all the mediums and smalls are running low - so get into Well Future Pharmacy to get yours quickly.
For background here is the background on the Sloopin Hat Tip T-shirt program. If you see your initials below and have submitted a story, you're eligible for a t-shirt:
As always thanks for the tips!
Old XO Site at 1700 S Priaire Rezoned; Demolition of Old Building Coming
Rendering for XO Development
I just wanted to let you know that as residents within the Prairie District, we have been notified that the old XO site on the 1700 block of South Prairie has been approved for demolition commencing no later than August of 2014. The property has been rezoned for 6 stories and below, residential.
If you recall the XO building came under fire back in the condo boom and never got off the ground. It was a controversial development given its scale and its surroundings on the historic Prairie Avenue.
Should be interesting to see what the new development is and sounds like it might be more in-line with other buildings on the block.
(Hat tip: MM!)
Chicago Reader Watchdog Weighs in On Pace of Progress for DePaul/Marriott Plan
Chicago Reader's Watchdog Ben Joravsky provides some thoughts on the pace of the DePaul/Marriott deal:
For all the energy he's exerted on his big DePaul/Marriott deal, you'd think Mayor Emanuel would be shouting its praises from the rooftops.
Like he's really proud of it and wants everyone to know what he's up to.
But, no, he's stealthily sneaking this baby through the City Council approval process like a thief in the night, as the great Mayor Harold Washington might put it.
Over the summer, Mayor Emanuel rammed through one aspect of the deal on a voice vote—most aldermen probably still don't know what went down.
He was up to his old tricks at last Wednesday's meeting with the zoning committee for the DePaul basketball arena and the Marriott hotel—which you, the taxpayer, will pay to build on land that you will also pay to purchase.
An interesting read for suspicious Sloopsters who don't like this deal.
Time Out Chicago Names The Scout As One Of Chicago's Best Sports Bars
The Scout - Front Room (via Time Out Chicago)
Time Out Chicago gives The Scout some love and names it one of Chicago's best sports bars:
The Scout (1301 S. Wabash)There are other sports bars in Chicago. There are even other sports bars in the South Loop. There is, however, no use in telling either of those things to the crowd of Bears fans waiting up to an hour to secure a table (and with it, a 14-inch grilled-cheese sandwich and a prime view of a TV or 30) at the Scout: They'll just think you're trying to cut in line.
(Hat tip: VM!)
Open House for National Teachers Academy on May 13th
Schools are always a hot topic, so with that in mind a reader provides a good read about NTA:
National Teachers Academy (NTA) is the public Chicago K-8 school at 55 West Cermak. A lot of people think it is a college or a charter, but it's not. It is one of the most beautiful public schools in the city. And its under-enrolled, even though South Loop Elementary* 10 blocks North is busting at the seams.
NTA has an interesting past. It was built to accommodate the families in the Icke homes, so they took a "community" approach. The homes are gone, but NTA is still going strong. Within the school is a UIC-led health clinic for students and their families. NTA is connected to "The Park at NTA" which is a Chicago Public Park building. It has a really nice gym and a pool. NTA students get to use the gym and have swimming as a "special" class every week. There is also a gorgeous music room and huge cafe, not to mention playgrounds and green space. Test scores are low, but that is changing. NTA also started a Regional Gifted Center this school year in grades K & 1. It will grow each year.
NTA is a public school, and it has a contract with Academy for Urban School Leadership (AUSL). AUSL uses it as training grounds for teachers. Practically, this means that each class has 2 teachers: a mentor and mentee. See the website here, which has all history and info: http://nta.auslchicago.org/
I'm a parent at NTA, and we are really impressed. None of my neighbors attend, and none have toured yet due to old information - it is just not on the radar. The boundaries are 18th on the North, 2499 on the South, Clark Street on the West and the Lake on the East.
NTA is hosting a neighborhood Open House on Tuesday, May 13th at 6pm - 7pm. Free parking in the school lot, or just walk on over. Flyer attached. If you could post, that would be wonderful. If you want to do a piece on NTA and would like a school contact, please let me know.
(Hat tip: SLV!)
What's Happening at 1132 S. Wabash?
Late last year we posted about Advance Uniform moving out of the relatively dilapidated building at 1132 S. Wabash. This year it appears something is changing at the location:
I just saw yesterday they put up scaffolding at 1132 S. Wabash where the Advanced Uniform building is. Do you happen to know what's going in there? Anything would be better than that dump!
While we don't have the update, we vaguely remember a Sloopin comment at one point about a bar and/or restaurant going in this spot.
Does anyone recall?
On a different note, as you will also see in the retail space just to the right of the scaffolding, it appears that "The World's Most Complete Juice Bar" named FruVe isn't actually. The white paper on the windows have now replaced the signage that was once their. Seems like a pretty clear sign that they're not opening:
Over on the comment board, Steven writes:
Will in fact be an upscale lounge/sports bar. i had posted this earlier but it was taken down for some reason....most likely due to trolling
(Hat tip: JK!)
Shots Around the Sloop: Peaking Through
(Hat tip: MT!)
A Look At Uber Rides in the Sloop
Pretty map thing from Uber (via Curbed Chicago):
Lots of people take cabs to O'Hare Airport and down Lake Shore Drive according to this map, which illustrates trips in Chicago made using Uber, a service that allows users to hail a taxi or hitch a rideshare via their mobile phone.
Apparently Michigan Avenue, LSD and Roosevelt gets the most Uber rides in the Sloop according to the map above.
1300 Block of S. Michigan to Be Named After "King of House"
South Michigan gets a honorary name (via DNAinfo):
The "King of House" will soon get a section of South Michigan Avenue named after him.
The City Council Transportation Committee moved Monday to approve the honorary renaming of the 1300 block of South Michigan Avenue to Farley Jackmaster Funk Way, after the renowned house-music disc jockey and producer. Farley "Jackmaster" Funk (nee Farley Keith Williams) was one of the earliest and greatest purveyors of house music when it came to the fore in the mid-'80s.
His version of "Love Can't Turn Around" — produced with Jesse Saunders and with gospel singer Darryl Pandy providing the over-the-top, Chicago-centric vocals — took the music international to Britain and beyond and remains a house classic almost 30 years later.
We weren't familiar with the Jackmaster, but did thoroughly enjoy watching some of his stuff on youtube:
If you're around this afternoon, there will be a walk:
Funk is slated to spin for an hour at noon Friday at the Cultural Center, 78 E. Washington Blvd. The city has set a House Music History Walk down Michigan Avenue for immediately after at 1 p.m., followed by the street renaming ceremony at 2:30 p.m. at 14th Street and Michigan. That's all after the full City Council is expected to approve it on Wednesday.
Wells-Wentworth Connector Gets a Green Light - Literally Paving the Way for Future Development
Wells-Wentworth Connector will be done in three phases (via City of Chicago)
Big city planning news for the South Loop - which literally paves the way for more development of a long (and infamous) vacant patch of land (via Tribune):
The Emanuel administration presented plans Wednesday for a new road that by late 2016 would provide smoother connections from downtown to Chinatown and other areas along the south branch of the Chicago River.
The $62 million project, called the Wells-Wentworth Connector, would also realign Wentworth Avenue between Archer and Cermak roads to bring this section of Wentworth in line with the portion of Wentworth south of Cermak, according to the Chicago Department of Transportation.
Besides safety improvements and better access to and from Chinatown, this most likely will make the infamous "Rezko" lot easier to develop. One of the main reported issues for developing this swath of land was that basic city infrastructure wasn't in place. We assume this would change that and based on this comment it sounds like momentum is building for development:
"This project has been in the works in one form or another since the 1960s,'' CDOT spokesman Pete Scales said. "CDOT did a feasibility study in 2002, but the project stalled because the large residential development (planned) to the north didn't happen. There is renewed interest in this project now, which is why we are moving forward with the plan.''
Seems like a good move to us. Thoughts?
(Hat tip: MJ & SC!)
Soil Samples Mean Development at 609 S. State?
Interestante - a reader writes:
Hi Sloopin,
I noticed today that there's a soil sample drilling rig in the combined parking lots on State between Harrison and Balbo. I know that this lot was once set to become the new headquarters of the YMCA, but that fell through. I wonder if this means a design or project is imminent, or if this is just preliminary for something further down the road. If you google Huzenis brothers buy South Loop development site, you get the Crain's article.
We've seen these trucks before and usually it means something is coming (ex - 1000 S. Clark).
Anyone have the scoop?
(Hat tip: BC!)
Gadget Geeks Aiming for Mid-June Opening at 620 S....
Sloopin Brew Update: Broad Shoulders Brewery Re-b...
Roosevelt Collection Is Paying Off for Investor Mc...
A Sloopin Fave: Chicken Spinach & Guacamole Wrap ...
Porkchop Looks To Be Opening on Dearborn - Not in ...
Construction Season Underway at 1300 Block of S. W...
8 New Fashion Photographs To Be Revealed as Part o...
Bike Shop Moving into Heart of Printers Row (728 S...
Old XO Site at 1700 S Priaire Rezoned; Demolition...
Chicago Reader Watchdog Weighs in On Pace of Progr...
Time Out Chicago Names The Scout As One Of Chicago...
1300 Block of S. Michigan to Be Named After "King ...
Wells-Wentworth Connector Gets a Green Light - Lit...


In anticipation of the long awaited Carhartt WIP Archives book published by Rizzoli, Dazed took a moment to examine the ways in which the brand elevated itself to the lofty heights of streetwear royalty.
On the 8th of August 2011, the staff at the Carhartt WIP outlet on 18 Ellingfort Road in Hackney received a phone call from looters telling them, out of courtesy, that they should vacate the premises. They did. Within the hour, the corrugated metal shutter was ripped open from the bottom of the steel door frame, as a group of mostly teenagers streamed in and out. Out front sat a red Mazda convertible, its roof crumpled like paper, its windscreen a spiderweb of cracks, as smoke filled the driver and passenger seats before the car eventually went up in flames.
For the disaffected youth of London that summer, what started as a protest against the killing of Mark Duggan at the hands of police officers quickly became a retaliatory act. By the time these photos were taken, it had been over 48 hours since the first brick was thrown in anger, and the protest had transcended its original purpose, resulting in a state of dystopian lawlessness that would continue until August 11th.
There was a spate of stores that were looted over those five days – for most owners, emotions ranged from fury to despondency. But in some ways, for those that worked for Carhartt WIP, as they watched images of thousands of pounds worth of stock being walked out the door of their Hackney outlet store, those feelings were likely tempered by a sense of affirmation (some time later, the brand released a t-shirt with the now-iconic photo of their storefront mid-looting). As a brand that, for the past 30 odd years, has been synonymous with differing facets of youth culture, it would have been more of a disaster had the swathes of kids descending on London Fields that day decided they had nothing worth stealing. In many ways, it was a backhanded compliment, a gesture of appreciation for the brand's work. It's a label that, many clapping eyes on that distinct, chunky yellow 'C', have wanted to be a part of – even if they didn't quite know why. For Carhartt WIP, this is the way it has always been.
From skaters to musicians, rappers to graffiti artists, that "C" of Carhartt has been subtly omnipresent subcultural signifier over the past three decades. How did humble workwear label become a hallmark of the niche, the subversive, the unusual and the exciting? It is this history of the brand that editors Michel Lebugle and Anna Sinofzik have dedicated the last 18 months of their life to sorting, editing and condensing at the behest of the brand, creating new Rizzoli tome The Carhartt WIP Archives – billed as "the first extensive look into the evolution of an icon." We met Lebugle in London, and got a deeper look at the book.
The book starts where Carhartt WIP (Work In Progress) started – in 1989, with what was initially a small-time licensing agreement between Work In Progress, founded by Edwin Faeh, and Carhartt USA, the historic workers' brand born in Dearborn, Michigan some 100 years earlier. Based in Europe, Carhartt WIP has been responsible for aligning its Michigan-based parent company with the current cultural zeitgeist for the past two-plus decades – which makes it all sound slightly calculated and corporate, but it's not. Indeed the book documents the building of a brand from its earliest and perhaps least glamorous days, from its first lookbook, shot in their own apartment and modelled by "a local weed dealer and friend." But it also illustrates how the label has infiltrated the upper echelons of fashion, featuring a glamorous 90s editorial shot by Mario Testino in Vogue, which included a translucent Carhartt WIP windbreaker. It is an infiltration that has, in many ways, been unintentional, for the brand being "too fashion" is something that is to be avoided. The other, as any Carhartt WIP employee will tell you, is the word "marketing".
"Back then, we called it Marx-iting," laughs Lebugle. "We would give away money just to do good stuff, instead of paying big amounts to buy you in somewhere. If there was a musician we liked, we just gave them clothes. Maybe later in their career when he wanted to do something else, we'd sponsor the project and just put a little C on it, just a small one." That prevailing attitude has seen them make abstract films about British adolescence with filmmaker Joshua Gordon, work with Detroit rapper Danny Brown on an exclusive capsule collection to be worn on-stage on during his most recent tour and send photographer Alexander Basile on road-trips armed with a bag of clothes and a camera when they were in need of some accompanying images for their unique brand of "Marx-iting". The latter resulted in a book and a film in 2007 entitled Dirt Ollies, which documented a skate trip around Mongolia, featuring Basile, Pontus Alv and Bertrand Trichet.
The popularity of Carhartt WIP has always been spurred on somewhat by stateside rappers' appropriation of their parent label's workwear – it has been worn by everyone from Tupac to Kanye West, spanning several epochs of the musical genre. In the 80s and 90s, the styles and shapes were overblown to the point it would put Vetements to shame (the two actually collaborated on an oversized overall for the French label's multibrand SS17 show), tying in with a more general trend for loose silhouettes and sagging pants. "I'm bigger now than I was in high school, but my old Carhartt jacket is still two to three sizes too large," wrote seminal music critic and rap fanatic Jon Caramanica in The New York Times last year. But as the trend for extremely baggy clothes dissipated within hip-hop, Carhartt WIP had already begun to meet this need. They reduced the proportions of traditional staples to make them more appealing to your average consumer, and began to produce their own designs in 1996.
In many ways, the weighty tome that Lebugle has produced together with Anna Sinofzik is an unintentional crash course in how to build a burgeoning streetwear brand from the ground up. Carhartt WIP, is of course, bigger now – lookbooks are no longer shot in their graphic designer's apartment (although don't rule it out) and they command impressive collaborations with the likes of the aforementioned Vetements, Patta, A.P.C., PAM, Junya Watanabe, NTS Radio, Undercover by Jun Takahashi and Japanese streetwear label Neighborhood and Uniform Experiment – but for Carhartt WIP, it has never been about chasing the customer. Which is why rappers like Action Bronson still reference the label, why skaters still wear it and, occasionally, why hordes of teenagers will rip off a shutter and take some of it without paying – call if Marx-iting if you will. "I've always said the Carhartt didn't choose the culture, the culture chose us," says Lebugle – it is a sentence that would be met with scepticism if it came from most brands, but not here.


text:
Press Release | 08 Feb 2016
VODAFONE UK'S WINTER SUSTAINABILITY REPORT
By Press Office
Vodafone UK has today published its quarterly Sustainability Report, which covers activity during Winter 2015. The report covers a range of initiatives:
the launch of our partnership with The Scout Association and the creation of the Scouts Digital Manifesto, which provides clear goals to help young people use digital technology safely, creatively and responsibly .
working with the Sea Mammal Research Unit (SMRU) at St Andrews University to investigate the rapid decline of some species of marine mammal using our machine-to-machine (M2M) technology
Our Giving Something Back campaign, which also highlights that £33 million has been donated through JustTextGiving since its launch in May 2011
Researchers to investigate impact of working from home
See press release archive
About Vodafone UK
Vodafone UK is a technology communications company that connects people, businesses and devices to help our customers benefit from digital innovation. Our services span mobile, fixed-line connections, home and office broadband, and the Internet of Things (IoT).
We have a strong track record as a tech pioneer, making the UK's first mobile phone call, sending the first text message, and making the UK's first live holographic call using 5G in 2018. We were also the first to start carrying live 5G traffic from a site in Salford, Greater Manchester. As of June 2021, we have 5G in 364 locations across Europe – 124 in the UK and 240 across Germany, Spain, Italy and Ireland. Our 4G network coverage currently reaches over 99% of the UK population.
Today, Vodafone serves more than 18 million mobile and fixed-line customers in the UK. To help deliver Gigabit UK, our full-fibre broadband roll-out programme now covers 26 UK towns and cities, rising to 35 over the coming months, through partnerships with CityFibre and Openreach. By spring 2022, our target is to make full fibre services available to more than eight million homes across the UK.
Sustainability is also at the heart of what we do: as of 1 July 2021, 100% of the grid electricity we use in the UK is certified to be from renewable sources.
For more information about Vodafone UK please visit: www.vodafone.co.uk.
Vodafone UK Media Relations
Email: ukmediarelations@vodafone.com
Twitter: @VodafoneUKNews
Website: https://newscentre.vodafone.co.uk
Vodafone Limited
Registered Office: Vodafone House, The Connection, Newbury, Berkshire RG14 2FN

redpajama_set_name: RedPajamaCommonCrawl


text:
Lions' Levy takes a walk on the wild side
Image taken from Instagram, @dre_levy
Detroit Lions linebacker DeAndre Levy has an unusual hobby during the off season. He likes to wing walk.
Levy recently posted pictures and a video of himself standing on top of a biplane that appears to be several thousand feet in the air. Lions president Tom Lewand had one piece of advice for the football player: don't fall off.
The adventure technically violates Levy's player contract. Standard language in his contract forbids extreme sports that may put a player at risk, but the Lions have grown accustomed to Levy's adventures.
Last year he hiked the Inca Trail and, in 2013, he went on an African safari. Levy was second in the NFL in tackles last season with 151 and led the league with 117 solo tackles.


text:
Harald Stamm (* 29. April 1938 in Frankfurt am Main) ist ein deutscher Opernsänger (Bass) und Gesangspädagoge.

Leben
Stamm wuchs in Bingen auf. Nach dem Abitur am örtlichen Stefan-George-Gymnasium und anschließendem Sportstudium war er als Lehrer tätig und nahm währenddessen privaten Gesangsunterricht bei Franz Fehringer. Er brach seinen erlernten Beruf ab und nahm in Frankfurt ein Gesangsstudium auf.

Nach dessen Abschluss hatte Stamm Engagements an den Bühnen von Gelsenkirchen (1968), Kassel und Köln. 1973 wurde er ständiges Mitglied des Ensembles der Staatsoper Hamburg.

1979 gelang ihm mit dem Sarastro aus der Zauberflöte, seiner Paraderolle, an der Metropolitan Opera der internationale Durchbruch. 1987 hatte er in der Rolle des Raimondo in Lucia di Lammermoor sein Debüt in Covent Garden.

1988 wurde Harald Stamm vom Senat der Hansestadt Hamburg zum Kammersänger ernannt.

Von 1993 bis 2003 war Stamm Professor für Gesang an der Universität der Künste Berlin. Als Veit Pogner in Richard Wagners Die Meistersinger von Nürnberg gab Stamm am 1. Juni 2009 seine Abschiedsvorstellung an der Staatsoper Hamburg und ist seither nur noch pädagogisch tätig.

Stamm lebt heute in Münchwald.

Auszeichnungen
 1967: Internationaler-Schubert-Wettbewerb, Wien
 1968: VDMK-Wettbewerb, Berlin
 1989: Ernennung zum Hamburger Kammersänger

Diskografie
 Claudio Monteverdi (bearb. Henze): Il ritorno d'Ulisse in patria, Livemitschnitt von den Salzburger Festspielen am 11. August 1985. Orfeo D'or 2000
 Franz Schreker: Der Schatzgräber. Live aus der Staatsoper Hamburg. Capriccio 1989
 Carl Ditters von Dittersdorf: Doktor und Apotheker. Bayer Records 1981
 Robert Schumann: Szenen aus Goethes Faust. EMI 1981
 Robert Schumann: Genoveva, Live aus der Staatsoper Hamburg. 1992
 Robert Schumann: Manfred. Koch/Schwann 2002
 Lieder von Brahms, Wolf und Schubert. Bellaphon 1989
 Romantic Bass Duets (mit Kurt Moll 1983/86). Koch/Schwann 2001
 Joseph Haydn: Die Schöpfung. Live Hiroshima Konzert 1990
 Paul Hindemith: Das Nusch-Nuschi. Wergo 1996
 Paul Hindemith: Cardillac. Wergo 1988
 Paul Hindemith: Mathis der Maler. Aufnahme von 1990. Wergo 1996
 Egon Wellesz: Die Bakchantinnen. Orfeo, 1999
 Louis Spohr: Faust. Deutschlandradio 1984
 Gustav Mahler: Sinfonien 1–10 und Das Lied von der Erde. Denon 1994
 Gioachino Rossini: Guillaume Tell. Live aus der Staatsoper Hamburg. Myto 1974
 Giuseppe Verdi: Aida. Deutsche Oper Berlin. Ponto 1982
 Saint-Saens: Samson et Dalila. ORF, Koch-Schwann 1988
 Jacques Offenbach: Les contes d'Hoffmann. 1989

Veröffentlichungen
Kraftvoll entspanntes Singen: Anleitung zur Technik nebst einigen Ratschlägen für junge Opern- und Konzertsänger. Taschenbuch, Thiasos Musikverlag, Oktober 2002, ISBN 978-3-98052-446-9

Weblinks

Einzelnachweise

Opernsänger
Bass
Gesangspädagoge
Hochschullehrer (Universität der Künste Berlin)
Hamburger Kammersänger
Deutscher
Geboren 1938
Mann

redpajama_set_name: RedPajamaWikipedia


text:
Clinton, Obama Push for Votes in Pa. Primary
jake tapper, chris cuomo, eloise harper, cole kazdin, jay shaylor and emily friedman
viaGMA
PHILADELPHIA, April 22, 2008
Sens. Hillary Clinton and Barack Obama tried to get the last laugh Monday night, but they turned serious again this morning as they scratched for votes even as Pennsylvanians lined up at the polls.
The two Democratic presidential rivals topped off six weeks of often bitter battles by appearing on WWE's pro wrestling show "Raw" on the eve of the Pennsylvania primary.
"You can call me Hillrod," said Clinton of her WWE persona, and Obama asked the audience, "Do you smell what Barack is cooking?"
While Clinton held a late-night rally in Philadelphia, Obama laughed through his appearance on Jon Stewart's "The Daily Show."
But there was a different tone this morning, as both candidates appeared on "Good Morning America" to discuss a nuclear Iran and their expectations for the outcome of today's primary vote.
In an interview with ABC's Chris Cuomo, Clinton expressed her toughest stance yet on Iran's nuclear ambitions and the potential threat the country poses to American allies.
"If Iran were to launch a nuclear attack on Israel what would our response be?" Clinton said. "I want the Iranians to know that if I'm the president, we will attack Iran. That's what we will do. There is no safe haven."
"Whatever stage of development they might be in their nuclear weapons program in the next 10 years during which they may foolishly consider launching an attack on Israel, we would be able to totally obliterate them," Clinton said.
Clinton's tough talk on Iran came a day after she launched a TV ad in Pennsylvania that included the ominous face of al Qaeda leader Osama bin Laden. Clinton introduced bin Laden into the campaign along with the narrator's voice warning, "It's the toughest job in the world. You need to be ready for anything."
When asked how he would respond to a nuclear attack by Iran, Obama told ABC News' Robin Roberts that he would do everything he could to prevent the country from having weapons in the first place.
"I was absolutely clear about the fact that if Iran used nuclear weapons on Israel, or any of our allies, we would respond forcefully and swiftly," said Obama.
"But, in some ways, this hypothetical presupposes a failure to begin with," said Obama. "We shouldn't allow Iran to have nuclear weapons, period."
"I have consistently said that I will do everything in my power to prevent them from having it and I have not ruled out military force as an option," he said.
Obama suggested that Clinton's use of terms such as "obliterate" in reference to Iran are ineffective "saber rattling."
"Talk using words like obliterate doesn't actually produce good results," said Obama. "I think the Iranians can be confident that I will respond forcefully, and it will be completely unacceptable if they attacked Israel, or any other of our allies in the region, with conventional weapons or nuclear weapons."
Clinton: 'I Have to Win'
When asked what the measure is by which she needs to win the Pennsylvania primary, Clinton said, "Well, I have to win. I believe that's my task."
"I know very well that I'm in a real fight here," Clinton said about her tight race against Obama. "Every time I turn around there are posters at bus stops and train trips and he's got an enormous cash advantage."
Clinton told Cuomo that Pennsylvania is a must-win state for any Democrat who wants to win the White House in November.
"I think there's a big burden on Sen. Obama tomorrow to prove that he can win a big state, because he hasn't really up until now," she said.
Obama appeared optimistic about his chances in Pennsylvania.
"I think all we do is just work as hard as we can," said Obama, when asked how he defines success in today's primary.
"Sen. Clinton started off with a big lead here. She had a 20-point lead," he said. "But we feel good about how we've chipped away at that lead."
Obama also took time to go after the GOP candidate John McCain and his recent remark that even McCain would be better than President Bush. But Obama said McCain would still mimic the current administration too much.
"Some of his instincts may be better than President Bush's, but the policies that he's putting forward right now essentially offer a continuation of George Bush's term," said Obama.
When asked whether McCain would be better than Bush, Obama responded, "He might be better in some areas, and he might be worse in others."
"Part of what we have to watch as this campaign unfolds is what is he willing to say to get elected," said Obama.
Clinton, Obama Talk Gas, Experience
With the average price of gas in Pennsylvania hitting $3.49, Obama told ABC News that he would help voters fill their tanks by giving them more money.
"We've got to get some more money in their pockets because we're not going to immediately reduce oil prices on the world stage," said Obama. "But what we can do is provide a middle class tax cut that puts more money in the pockets of families to deal with higher costs."
In a lighter moment, Clinton was asked how voters should differentiate between the plans or "meal" she and Obama are "bringing to the table" for the American people.
"Well, I think I'm a more experienced cook, and I think my meal will be better seasoned," Clinton said laughing.
Down to Wire in Pa: Candidates Talk Tough
+The Note


TCM: Sounds like fun. How do you get access to these beaches?
Jeff: They only sell beach passes for Robert Moses State Park before April 30th, or after Labor Day in September. You can't buy beach passes between that time.
From May 24th until September 3rd you are not allowed to drive on the beach from 7:00am until 5:00pm. It's brutal because you have to get up early. You can be on the beach, they just don't want vehicles running over beach goers. I go out the night before or early in the morning. Then my family parks the truck and walks to where I am on the beach.
You also have to have a registered four wheel drive truck. I air down my truck tires to 15 psi when I go on the beach. They have an air facility, but you have to bring your own hose.
We also do a lot of camping on Montauk on Long Island. There's great free camping out there. But, Montauk does not have shower and bathroom facilities. This is one reason why we're looking at bigger truck campers. We want a built-in bathroom and shower in our next camper.
Out on Montauk, it used to be first come, first serve. That's for regular campers, not truck campers. We can camp anywhere. There are only so many spaces.
We also go to the inlet. They have a reservation system for truck campers to stay overnight. There are no facilities there either, but there is air.
TCM: Tell us about your surfing.
Jeff: I competed in surfing competitions a couple of times, but it took away from the enjoyment. Now surfing is 100% a hobby. All of our trips are around surfing.
I moved out to California at age twenty-five for surfing. I have surfed in Hawaii and the Caribbean. For me, it's all about surfing and the lifestyle. That's what got me into truck camping. To wake up on the beach is the best thing in the world. I wish I had owned the truck camper when I was in California.


text:
Le vicianose est un diholoside (ou disaccharide) composé d'une unité L-arabinose et d'une D-glucose liées par une liaison osidique α(1→6).

On le rencontre notamment dans la vicianine, un glycoside cyanogène où il est l'ose lié au (R)-mandélonitrile. L'enzyme vicianine bêta-glucosidase catalyse l'hydrolyse de la (R)-vicianine en mandélonitrile and vicianose.

Le vicianose est également présent dans le cyanidine 3-vicianoside, l'un de principaux pigments responsables de la couleur bleue des fruits de Viburnum dentatum .

Notes et références

Diholoside


text:
About Eileen
More about Eileen
Father Raphael, ocso
About MtFM
The Parable Series
Digital Newsletters
Prayer for Intercession
Bengagli
Report a Favor
Manderin
Meet-the-Father Ministry presents
Eileen George
Meet-the-Father Ministry presents→About→About Eileen
Throughout the history of salvation, God has chosen ordinary people to show His love to the world. These people have been given extraordinary gifts to assist in their God given mission. In our times, so wrapped in confusion and uncertainty, the Lord has done just that. He has raised up a woman, a wife, mother, grandmother, and great grandmother.
Eileen George was a woman with many exceptional supernatural gifts and a unique mission from God. Her mission flowed from her unique relationship with God the Father, Jesus Christ, and the Holy Spirit. Eileen's spiritual director stated: "Eileen knows heaven as we know earth."
Extraordinary gifts of inspired preaching, healing, prophecy and knowledge were just a few of the many supernatural graces that the Father bestowed upon Eileen to lead His people back, or deeper into the life of the Sacraments. The power of her preaching moved full churches to receive the Sacrament of Penance with many Priests performing the Sacrament for long hours.
One of the remarkable things about Eileen was that despite her many supernatural gifts, she remained an ordinary woman with a great sense of humor. It is to this woman that the Lord entrusted Meet-the-Father Ministry.
The Meet-the-Father Ministry took Eileen and her teaching throughout the United States, Canada, Italy, Germany, South Korea, the Philippines, Bangladesh, Taiwan, Aruba and Dutch West Indies.
People often asked if Eileen George was trustworthy. "Is her ministry in accord with the Catholic Church", "Is she real or a fake?" Throughout the history of the Church God has raised up men and women with extraordinary gifts, charisms, and radical love for God to lead a renewal within the whole of the Church. Men and women like Theresa of Avila, John of the Cross, Francis & Claire of Assisi and Catherine of Siena were sent to the Church of their times to lead the way. Each of these people were rejected, and were considered extremes until they were discerned by the Church. These men and women, although very unique individuals, have a common thread that weaves throughout their lives. First, they were people of deep faith, who lived on the grace of a strong Sacramental life. Second, they were in complete submission to the Church. Third, they were unfailingly united to the successor of St. Peter – the Pope.
The same traits were found in Eileen George. She was a woman of deep faith. Her whole life was centered on Jesus Christ and the road to holiness. Eileen had a deep love for the Sacramental life. In her own words, "I could not live one day without receiving the lover of my soul in Holy Communion."
Eileen's ministry is in complete submission to the Church. Through the years, Eileen's spiritual life was guided by a Trappist Monk, and her ministry directed by the monk, an Archbishop, and several priests. All of Eileen's books and video tapes were scrutinized by the board of directors before they were released to the public. Eileen's teaching and healing ministry began through the direct intervention of the Bishop of Worcester, and continued under his guidance. All of Eileen's services, conferences and retreats were only accepted after she received a letter of permission from the Bishop of the diocese that she entered.
Eileen's ministry was praised and welcomed by Bishops and Cardinals from around the country and the world.
Eileen entered eternal life on 14 May 2017.
Read more about Eileen and her ministry here.
margaret quigley on Eileen needs miracles! Will you help?
MARIAN POLOVY on Eileen needs miracles! Will you help?
PATRICIA S QUINTILIANI on The Father's Good News – Digital Edition #3
marie jeanne boutin on The Father's Good News – Digital Edition #3
Fr. Jay Finelli on The Father's Good News – Digital Edition #2
Meet-the-Father Ministry
4th Anniversary Memorial Mass
Eileen George Prayer Groups
Eileen needs miracles! Will you help?
3rd Anniversary of Eileen's Passing into Eternal Life
The Father's Good News – Digital Edition #3
© Meet-the-Father Ministry, Inc.


I was searching for a Property and found this listing (MLS #387372). Please send me more information regarding 959 Hearthstone Dr, Hardeeville, SC, 29927. Thank you!
I'd like to request a showing of 959 Hearthstone Dr, Hardeeville, SC, 29927 (MLS #387372). Thank you!


text:
<?php
/**
 * Add the recipe modal to posts and pages.
 *
 * @link       http://bootstrapped.ventures
 * @since      1.0.0
 *
 * @package    WP_Recipe_Maker
 * @subpackage WP_Recipe_Maker/includes/admin/modal
 */

/**
 * Add the recipe modal to posts and pages.
 *
 * @since      1.0.0
 * @package    WP_Recipe_Maker
 * @subpackage WP_Recipe_Maker/includes/admin/modal
 * @author     Brecht Vandersmissen <brecht@bootstrapped.ventures>
 */
class WPRM_Modal {

	/**
	 * Register actions and filters.
	 *
	 * @since    1.0.0
	 */
	public static function init() {
		add_action( 'admin_footer', array( __CLASS__, 'add_modal_content' ) );
		add_action( 'admin_enqueue_scripts', array( __CLASS__, 'enqueue' ) );

		add_action( 'wp_ajax_wprm_get_thumbnail', array( __CLASS__, 'ajax_get_thumbnail' ) );
	}

	/**
	 * Enqueue stylesheets and scripts.
	 *
	 * @since    1.0.0
	 */
	public static function enqueue() {
		wp_enqueue_style( 'wprm-medium-editor', WPRM_URL . 'vendor/medium-editor/css/medium-editor.min.css', array(), WPRM_VERSION, 'all' );
		wp_enqueue_style( 'wprm-medium-editor-theme', WPRM_URL . 'vendor/medium-editor/css/themes/beagle.min.css', array(), WPRM_VERSION, 'all' );
		wp_enqueue_style( 'wprm-select2', WPRM_URL . 'vendor/select2/css/select2.min.css', array(), WPRM_VERSION, 'all' );
		wp_enqueue_style( 'wprm-modal', WPRM_URL . 'assets/css/admin/modal.min.css', array(), WPRM_VERSION, 'all' );

		wp_enqueue_script( 'medium-editor', WPRM_URL . 'vendor/medium-editor/js/medium-editor.min.js', array( 'jquery' ), WPRM_VERSION, true );
		wp_enqueue_script( 'rangy', WPRM_URL . 'vendor/rangy/rangy-core.js', array(), WPRM_VERSION, true );
		wp_enqueue_script( 'wprm-rich-editor', WPRM_URL . 'assets/js/admin/rich-editor.js', array( 'jquery', 'medium-editor', 'rangy' ), WPRM_VERSION, true );
		wp_enqueue_script( 'wprm-select2', WPRM_URL . 'vendor/select2/js/select2.min.js', array( 'jquery' ), WPRM_VERSION, true );
		wp_enqueue_script( 'texthighlighter', WPRM_URL . 'vendor/texthighlighter/TextHighlighter.min.js', array( 'jquery' ), WPRM_VERSION, true );

		wp_enqueue_script( 'wprm-modal', WPRM_URL . 'assets/js/admin/modal.js', array( 'jquery' ), WPRM_VERSION, true );
		wp_enqueue_script( 'wprm-import-text', WPRM_URL . 'assets/js/admin/import-text.js', array( 'jquery', 'wprm-modal', 'texthighlighter' ), WPRM_VERSION, true );
		wp_enqueue_script( 'wprm-recipe-form', WPRM_URL . 'assets/js/admin/recipe-form.js', array( 'jquery', 'jquery-ui-sortable', 'wprm-modal', 'medium-editor', 'wprm-select2' ), WPRM_VERSION, true );
		wp_enqueue_script( 'wprm-recipe-snippets', WPRM_URL . 'assets/js/admin/recipe-snippets.js', array( 'jquery', 'wprm-modal' ), WPRM_VERSION, true );

		wp_localize_script( 'wprm-modal', 'wprm_modal', array(
			'ajax_url' => admin_url( 'admin-ajax.php' ),
			'nonce' => wp_create_nonce( 'wprm' ),
			'text' => array(
				'modal_close_confirm' => __( 'Are you sure? You will lose any unsaved changes.', 'wp-recipe-maker' ),
				'action_button_insert' => __( 'Insert & Close', 'wp-recipe-maker' ),
				'action_button_update' => __( 'Update & Close', 'wp-recipe-maker' ),
				'media_title' => __( 'Select or Upload Image', 'wp-recipe-maker' ),
				'media_button' => __( 'Use Image', 'wp-recipe-maker' ),
				'shortcode_remove' => __( 'Are you sure you want to remove this recipe?', 'wp-recipe-maker' ),
				'import_text_reset' => __( 'Are you sure you want to start over with importing from text?', 'wp-recipe-maker' ),
				'edit_recipe' => __( 'Edit Recipe', 'wp-recipe-maker' ),
				'first_recipe_on_page' => __( 'First recipe on page', 'wp-recipe-maker' ),
				'medium_editor_placeholder' => __( 'Type here (select text for advanced styling options)', 'wp-recipe-maker' ),
			),
			'addons' => array(
				'premium' => WPRM_Addons::is_active( 'premium' ),
			),
		));
	}

	/**
	 * Get the image thumbnail from its ID.
	 *
	 * @since    1.0.0
	 */
	public static function ajax_get_thumbnail() {
		if ( check_ajax_referer( 'wprm', 'security', false ) ) {
			$image_id = isset( $_POST['image_id'] ) ? intval( $_POST['image_id'] ) : 0; // Input var okay.

			$thumb = wp_get_attachment_image_src( $image_id, 'medium' );
			$image_url = $thumb && isset( $thumb[0] ) ? $thumb[0] : '';

			wp_send_json_success( array(
				'image_url' => $image_url,
			) );
		}

		wp_die();
	}

	/**
	 * Add modal template to edit screen.
	 *
	 * @since    1.0.0
	 */
	public static function add_modal_content() {
		$screen = get_current_screen();

		if ( in_array( $screen->base, array( 'post', 'page' ), true ) ) {
			$menu = WPRM_Modal::get_modal_menu();
			require_once( WPRM_DIR . 'templates/admin/modal/modal.php' );
		}
	}

	/**
	 * Get menu to show in modal.
	 *
	 * @since    1.0.0
	 */
	public static function get_modal_menu() {
		$menu = array(
			'recipe' => array(
				'order' => 100,
				'default' => true,
				'label' => __( 'New Recipe', 'wp-recipe-maker' ),
				'tabs' => array(
					'text-import' => array(
						'order' => 50,
						'label' => __( 'Import from Text', 'wp-recipe-maker' ),
						'template' => WPRM_DIR . 'templates/admin/modal/tabs/import-text.php',
						'callback' => '',
					),
					'recipe-details' => array(
						'order' => 100,
						'label' => __( 'Recipe Details', 'wp-recipe-maker' ),
						'template' => WPRM_DIR . 'templates/admin/modal/tabs/recipe-details.php',
						'callback' => 'insert_update_recipe',
						'init' => 'set_recipe',
					),
					'recipe-ingredients-instructions' => array(
						'order' => 200,
						'label' => __( 'Ingredients & Instructions', 'wp-recipe-maker' ),
						'template' => WPRM_DIR . 'templates/admin/modal/tabs/recipe-ingredients-instructions.php',
						'callback' => 'insert_update_recipe',
					),
					'recipe-notes' => array(
						'order' => 300,
						'label' => __( 'Recipe Notes', 'wp-recipe-maker' ),
						'template' => WPRM_DIR . 'templates/admin/modal/tabs/recipe-notes.php',
						'callback' => 'insert_update_recipe',
					),
				),
				'default_tab' => 'recipe-details',
			),
			'edit-recipe' => array(
				'order' => 110,
				'label' => __( 'Edit Recipe', 'wp-recipe-maker' ),
				'tabs' => array(
					'edit-recipe-select' => array(
						'order' => 100,
						'label' => __( 'Edit Recipe', 'wp-recipe-maker' ),
						'template' => WPRM_DIR . 'templates/admin/modal/tabs/edit-recipe.php',
						'callback' => 'edit_recipe',
						'button' => __( 'Edit Recipe', 'wp-recipe-maker' ),
					),
				),
				'default_tab' => 'edit-recipe-select',
			),
			'insert-recipe' => array(
				'order' => 120,
				'label' => __( 'Insert Recipe', 'wp-recipe-maker' ),
				'tabs' => array(
					'insert-recipe-select' => array(
						'order' => 100,
						'label' => __( 'Insert Recipe', 'wp-recipe-maker' ),
						'template' => WPRM_DIR . 'templates/admin/modal/tabs/insert-recipe.php',
						'callback' => 'insert_recipe',
						'button' => __( 'Insert Recipe & Close', 'wp-recipe-maker' ),
					),
				),
				'default_tab' => 'insert-recipe-select',
			),
			'recipe-snippets' => array(
				'order' => 200,
				'label' => __( 'Recipe Snippets', 'wp-recipe-maker' ),
				'tabs' => array(
					'recipe-snippets-jump' => array(
						'order' => 100,
						'label' => __( 'Jump to Recipe', 'wp-recipe-maker' ),
						'template' => WPRM_DIR . 'templates/admin/modal/tabs/recipe-snippets-jump.php',
						'callback' => 'insert_jump_to_recipe',
						'init' => 'reset_snippets',
					),
					'recipe-snippets-print' => array(
						'order' => 200,
						'label' => __( 'Print Recipe', 'wp-recipe-maker' ),
						'template' => WPRM_DIR . 'templates/admin/modal/tabs/recipe-snippets-print.php',
						'callback' => 'insert_print_recipe',
					),
				),
				'default_tab' => 'recipe-snippets-jump',
			),
		);

		// Allow menu to be altered.
		$menu = apply_filters( 'wprm_admin_modal_menu', $menu );

		// Sort menu before returning.
		$sorted_menu = array();
		foreach ( $menu as $menu_item => $options ) {
			uasort( $options['tabs'], array( __CLASS__, 'sort_by_order' ) );

			$sorted_menu[ $menu_item ] = $options;
		}

		uasort( $sorted_menu, array( __CLASS__, 'sort_by_order' ) );

		return $sorted_menu;
	}

	/**
	 * Custom sorting function for menu array.
	 *
	 * @since    1.0.0
	 * @param    mixed $a First array to compare.
	 * @param    mixed $b Second array to compare.
	 */
	public static function sort_by_order( $a, $b ) {
		return $a['order'] - $b['order'];
	}
}

WPRM_Modal::init();

redpajama_set_name: RedPajamaGithub


text:
Switzerland's Stan Wawrinka in action during his quarter final match against Canada's Denis Shapovalov REUTERS/Anton Vaganov
"The Best One" – Garbine Muguruza on Training Experiences With Stan Wawrinka
Rishi Karthikeyan
Swiss star Stan Wawrinka has one of the best games on the ATP Tour. He has a great forehand, a great serve and he also has one of the best backhands ever.
Considering that he plays so well, many players would love to hit with him; Spanish star Garbine Muguruza is one of those players.
In a recent Q&A on Instagram, one of Garbine's fans asked her whether Stan was a good hitting partner. She replied by saying, "The best one! Stan The Man."
Stan would surely be happy that Muguruza thinks he is a great hitting partner, and he probably thinks the same. They both have had some great practice sessions and their last one came back in July. Here is a clip of that training session where Garbine is having an intense volley rally with Wawrinka.
Stan Wawrinka and Garbine Muguruza in 2020
The 2020 tennis season was terribly affected by the coronavirus as many events were canceled. There were some tournaments that were played but unfortunately, Wawrinka and Muguruza were not successful at them.
Since the Tour resumed in August, Garbine played the US Open, the Italian Open, and the French Open. She lost in the early stages at all of them except the Italian Open where she reached the semi-finals.
Moving on, Stan played many events since August and was knocked out early at nearly all of them. The only event where he found some form was the Paris Masters where he reached the quarter-finals.
Tennis – ATP Masters 1000 – Paris Masters – AccorHotels Arena, Paris, France – November 4, 2020 Switzerland's Stan Wawrinka in action during his second round match against Tommy Paul of the U.S. REUTERS/Gonzalo Fuentes.
Clearly, both Wawrinka and Muguruza have not had a great 2020. The year is now coming to an end, which is why they are going to be training for 2021. Hopefully, they will be more successful there.
Read More – "It Never Misses": Roger Federer Reveals the Shot He Would Take From 11-Time Grand Slam Champion
Tags: French OpenGarbine MuguruzaStan WawrinkaUS Open


text:
start = 0
try:
    import time
    import random
    import re
    import pycurl
    import hmac
    import urllib
    import urllib2
    import simplejson
    import sys
    import calendar
    import options
    from hashlib import sha256
    try:
        from io import BytesIO
    except ImportError:
        from StringIO import StringIO as BytesIO

    # If you change these delays, you will exceed the Instagram API rate-limit
    # Or, the bot will be running slower than necessary
    LIKE_DELAY = 36
    REL_DELAY = 60
    API_DELAY = 2

    # DO NOT CHANGE ANYTHING BELOW THIS POINT

    NO_FOLLOW = 0
    FOLLOWS = 1

    likedDict = {}
    headers = {}
    dataDict = ""
    count = 0
    response = "500"

    totalFollows = 0
    totalUnfollows = 0
    totalAPICalls = 0
    totalLikes = 0
    totalErrors = 0

    globErrorMessage = ""
    errorLevel = 0

    class tCol:
        HEADER = '\033[95m'
        OKBLUE = '\033[94m'
        OKGREEN = '\033[92m'
        WARNING = '\033[93m'
        FAIL = '\033[91m'
        ENDC = '\033[0m'
        BOLD = '\033[1m'
        UNDERLINE = '\033[4m'

    def currentTime():
        theTime = calendar.timegm(time.gmtime())
        return theTime

    lastLike = currentTime() - LIKE_DELAY
    lastRel = currentTime() - REL_DELAY
    lastAPI = currentTime() - API_DELAY

    userArray = []
    likeArray = []
    APIArray = []
    followArray = []
    followedArray = []

    relArray = []
    picArray = []

    def printMsg(message, prefix="FLIB", level="OKGREEN"):
        print ("[" + getattr(tCol, level) + prefix + tCol.ENDC + "] " +
               getattr(tCol, level) + message + tCol.ENDC)
        return

    start = 1

    def execPause(length):
        if length > 3:
            if length > 60:
                multiplier = int(float(length)/60)
                i = 0
                while i < multiplier:
                    printMsg('Paused for ' + tCol.FAIL + str(length) +
                             tCol.WARNING + ' seconds...', "TIME", "WARNING")
                    i = i + 1
                    length = length - 60
            printMsg('Paused for ' + tCol.FAIL + str(length) +
                     tCol.WARNING + ' seconds...', "TIME", "WARNING")
        time.sleep(length)

    if options.ACCESS_TOKEN == "changeme" or options.CLIENT_ID == "changeme":
        print printMsg("You must change all variables which equal 'changeme'",
                       "FAIL", "FAIL")
        sys.exit(1)
    elif options.CLIENT_SECRET == "changeme" or options.IP == "changeme":
        print printMsg("You must change all variables which equal 'changeme'",
                       "FAIL", "FAIL")
        sys.exit(1)

    def headerFunction(header_line):
        if ':' not in header_line:
            return
        name, value = header_line.split(':', 1)
        name = name.strip()
        value = value.strip()
        name = name.lower()
        headers[name] = value

    def reqURL(url, post="", proto="GET", reqType="API"):
        global count, dataDict, response, globErrorMessage
        global API_DELAY, LIKE_DELAY, REL_DELAY
        global totalAPICalls, totalErrors, errorLevel, lastAPI

        bytesIO = BytesIO()
        pc = pycurl.Curl()

        signature = hmac.new(
            options.CLIENT_SECRET, options.IP, sha256).hexdigest()
        header = '|'.join([options.IP, signature])
        header = ["X-Insta-Forwarded-For: " + header]

        post_data = {'access_token': options.ACCESS_TOKEN,
                     'client_id': options.CLIENT_ID}
        post_data.update(post)
        postfields = urllib.urlencode(post_data)

        if proto == "POST":
            pc.setopt(pc.CUSTOMREQUEST, 'POST')
            pc.setopt(pc.POSTFIELDS, postfields)
        else:
            getURL = url
            url = url + "?" + postfields
            pc.setopt(pc.CUSTOMREQUEST, 'GET')

        pc.setopt(pc.URL, str(url))
        pc.setopt(pc.WRITEFUNCTION, bytesIO.write)
        pc.setopt(pc.HEADERFUNCTION, headerFunction)
        pc.setopt(pycurl.HTTPHEADER, header)

        count = count + 1

        timeDifference = currentTime() - lastAPI
        if timeDifference < API_DELAY:
            execPause(API_DELAY - timeDifference)
        if len(APIArray) > 0:
            while APIArray[0] <= currentTime() - 3600:
                del APIArray[0]
            if len(relArray) >= 4999:
                waitTime = currentTime() - APIArray[0] - 3600
                execPause(waitTime)

        try:
            totalAPICalls = totalAPICalls + 1
            pc.perform()
            response = str(pc.getinfo(pc.HTTP_CODE))
            pc.close()

            encoding = None
            if 'content-type' in headers:
                content_type = headers['content-type'].lower()
                match = re.search('charset=(\S+)', content_type)
                if match:
                    encoding = match.group(1)
            if encoding is None:
                encoding = 'iso-8859-1'

            body = bytesIO.getvalue()

            dataDict = simplejson.loads(body)
            printMsg(tCol.BOLD + 'Request #' + str(count), "NUM#", "HEADER")
            try:
                printMsg('Remaining API calls: ' + tCol.FAIL +
                         headers['x-ratelimit-remaining'] + '/' +
                         headers['x-ratelimit-limit'] + tCol.ENDC, "RATE",
                         "OKBLUE")
            except Exception:
                execPause(1)
        except Exception as e:
            dataDict = ""
            response = "500"
            error_message = e
            errorLevel = errorLevel + 1
            if errorLevel > 8:
                printMsg("Error level exceeded, check options.",
                         "ERRO", "FAIL")
                sys.exit(1)

        if proto == "POST":
            printMsg(url, "RURL", "OKBLUE")
        else:
            printMsg(getURL, "RURL", "OKBLUE")

        printMsg(postfields, "FLDS", "OKBLUE")
        printMsg(proto, "HTTP", "OKBLUE")

        try:
            if response == "200":
                lastAPI = currentTime()
                errorLevel = 0
                printMsg(response, "CODE")
                APIArray.append(currentTime())
            elif response == "500":
                totalErrors = totalErrors + 1
                globErrorMessage = str(error_message)
                if globErrorMessage == "(23, 'Failed writing header')":
                    print ""
                    printMsg(tCol.BOLD + "Keyboard Interrupt!", "INPT", "FAIL")
                    sys.exit(1)
                printMsg(str(error_message), "ERRO", "FAIL")
            elif response != "200":
                totalErrors = totalErrors + 1
                error_message = dataDict["meta"]["error_message"]
                error_type = dataDict["meta"]["error_type"]
                printMsg(response, "CODE", "FAIL")
                printMsg(error_type, "TYPE", "FAIL")
                printMsg(error_message, "FAIL", "FAIL")
                if response == "400" and \
                   error_type == "OAuthAccessTokenException":
                    sys.exit(1)
                if response == "429":
                    rates = [int(s) for s in error_message.split()
                             if s.isdigit()]
                    printMsg("Rate exceeded: " + tCol.FAIL + str(rates[0]) +
                             "/" + str(rates[1]) + tCol.WARNING +
                             " in the last hour.", "RATE", "WARNING")
                    if reqType == "Like":
                        LIKE_DELAY = LIKE_DELAY + 1
                        rateArray = likeArray
                        rateLen = 99
                    elif reqType == "Relation":
                        REL_DELAY = REL_DELAY + 1
                        rateArray = relArray
                        rateLen = 99
                    else:
                        API_DELAY = API_DELAY + 1
                        rateArray = APIArray
                        rateLen = 4999
                    rateDiff = rateLen - len(rateArray)
                    if rateDiff > 0:
                        while len(rateArray) < rateLen:
                            rateArray.append(currentTime())
                    rateArray[0] = currentTime() - 3900
                    waitTime = 0
                    waitTime = currentTime() - rateArray[0] - 3600
                    execPause(waitTime)
                    reqURL(url, post, proto, reqType)
        except Exception:
            return

        return dataDict

    def getAccessToken():
        if options.ACCESS_TOKEN == "":
            tokenURL = "https://api.instagram.com/oauth/access_token"
            post = {'client_secret': options.CLIENT_SECRET,
                    'redirect_uri': options.REDIRECT_URI,
                    'code': options.CODE,
                    'grant_type': 'authorization_code'}
            data = reqURL(tokenURL, post, "POST")
            options.ACCESS_TOKEN = str(data["access_token"])
            printMsg("Here is your ACCESS_TOKEN: " + tCol.OKGREEN +
                     options.ACCESS_TOKEN, "ACST", "WARNING")
            printMsg("Replace the value in options.py", "REPL", "WARNING")
            execPause(60)
        return

    def getUsers(next_cursor=None, num_users=0, stage=0):
        global userArray
        if stage == 0:
            userURL = options.INSTAGRAM_API + "users/self/follows"
            arrayName = followArray
        elif stage == 1:
            userURL = options.INSTAGRAM_API + "users/self/followed-by"
            arrayName = followedArray
        else:
            userArray = list(set(followArray) - set(followedArray))
            printMsg(tCol.FAIL + tCol.BOLD + str(num_users) + tCol.ENDC +
                     tCol.WARNING + " users added to interaction blacklist",
                     "USER", "WARNING")
            return

        if next_cursor is not None:
            post = {'cursor': next_cursor}
        else:
            post = {}

        data = reqURL(userURL, post)
        if response != "200":
            if globErrorMessage == "(23, 'Failed writing header')":
                print globErrorMessage
                sys.exit(1)
            printMsg("Retrying request...", "RTRY", "WARNING")
            getUsers(next_cursor, num_users, stage)
            return

        dataPage = data["pagination"]

        next_cursor = None
        if dataPage:
            next_cursor = data["pagination"]["next_cursor"]
        for user in data["data"]:
            for k, v in user.iteritems():
                if k == "id":
                    userID = v
                    arrayName.append(userID)
                    num_users = num_users + 1

        if next_cursor is None:
            stage = stage + 1
        getUsers(next_cursor, num_users, stage)

    def getFollowing(next_cursor=None, num_users=0):
        global userArray
        userURL = options.INSTAGRAM_API + "users/self/follows"

        if next_cursor is not None:
            post = {'cursor': next_cursor}
        else:
            post = {}

        data = reqURL(userURL, post)
        if response != "200":
            if globErrorMessage == "(23, 'Failed writing header')":
                print globErrorMessage
                sys.exit(1)
            printMsg("Retrying request...", "RTRY", "WARNING")
            getFollowing(next_cursor, num_users)
            return

        dataPage = data["pagination"]

        next_cursor = None
        if dataPage:
            next_cursor = data["pagination"]["next_cursor"]
        for user in data["data"]:
            for k, v in user.iteritems():
                if k == "id":
                    userID = v
                    followArray.append(userID)
                    num_users = num_users + 1

        if next_cursor is None:
            userArray = list(set(followArray))
            printMsg(tCol.FAIL + tCol.BOLD + str(num_users) + tCol.ENDC +
                     tCol.WARNING + " users added to interaction blacklist",
                     "USER", "WARNING")
            return
        getFollowing(next_cursor, num_users)

    def getPics(next_max_like_id=None, num_likes=0):
        likeURL = options.INSTAGRAM_API + "users/self/media/liked"

        if next_max_like_id is not None:
            post = {'max_like_id': next_max_like_id}
        else:
            post = {}

        data = reqURL(likeURL, post)
        if response != "200":
            if globErrorMessage == "(23, 'Failed writing header')":
                sys.exit(1)
            printMsg("Retrying request...", "RTRY", "WARNING")
            getPics(next_max_like_id, num_likes)
            return

        dataPage = data["pagination"]

        next_max_like_id = None
        if dataPage:
            next_max_like_id = data["pagination"]["next_max_like_id"]

        for image in data["data"]:
            for k, v in image.iteritems():
                if k == "id":
                    imageID = v
                    picArray.append(imageID)
                    num_likes = num_likes + 1

        if next_max_like_id is not None:
            getPics(next_max_like_id, num_likes)
        else:
            printMsg(tCol.FAIL + tCol.BOLD + str(num_likes) + tCol.ENDC +
                     tCol.WARNING + " pictures added to interaction blacklist",
                     "LIKE", "WARNING")

    def followCheck():
        userURL = options.INSTAGRAM_API + "users/self"
        data = reqURL(userURL)
        if response != "200":
            return
        try:
            followsCount = int(data['data']['counts']['follows'])
        except Exception:
            printMsg("Failed to get follow count. Skipping...", "FLLW", "FAIL")
            return
        if followsCount >= 7499 and options.ACTION != "UNFOLLOW_ALL":
            execPause(86400)
            printMsg("Following cap exceeded. Unfollowing all users", "UFLW")
            options.ACTION = "UNFOLLOW_ALL"
            begin()
            sys.exit(1)
        elif followsCount <= 1 and options.ACTION == "UNFOLLOW_ALL":
            printMsg("All users unfollowed. Following users.", "UFLW")
            options.ACTION = "LIKE_FOLLOW"
            begin()
            sys.exit(1)
        printMsg("Following count: " + str(followsCount), "FLLW")
        return

    # Like `pictureID`
    def likePicture(pictureID):
        if pictureID in picArray:
            printMsg("You already like picture " +
                     tCol.WARNING + pictureID, "LIKE", "FAIL")
            return
        global totalLikes
        global lastLike
        likeURL = options.INSTAGRAM_API + "media/%s/likes" % (pictureID)
        printMsg("Liking picture " + pictureID, "LIKE")
        timeDifference = currentTime() - lastLike
        if timeDifference < LIKE_DELAY:
            execPause(LIKE_DELAY - timeDifference)
        if len(likeArray) > 0:
            while likeArray[0] <= currentTime() - 3600:
                del likeArray[0]
            if len(likeArray) >= 99:
                waitTime = currentTime() - likeArray[0] - 3600
                if waitTime > 0:
                    execPause(waitTime)
        reqURL(likeURL, "", "POST", "Like")
        if response != "200":
            return
        lastLike = currentTime()
        likeArray.append(currentTime())
        totalLikes = totalLikes + 1

    # Follow or unfollow `userID`
    def modUser(userID, action):
        global lastRel
        userURL = options.INSTAGRAM_API + "users/%s" % (userID)
        modURL = userURL + "/relationship"
        data = reqURL(userURL)
        if response != "200":
            return
        try:
            followsCount = int(data['data']['counts']['follows'])
            followedByCount = int(data['data']['counts']['followed_by'])
        except Exception:
            printMsg(
                "Failed to get follow counts. Skipping...", "FLLW", "FAIL")
            return
        post = {'action': action}
        if action == "follow":
            if userID in userArray:
                printMsg("You are already following user " +
                         tCol.WARNING + userID, "FLLW", "FAIL")
                return
            if followsCount < (followedByCount / 2):
                printMsg("User " + tCol.WARNING + userID + tCol.FAIL +
                         " is following < half of their follower count.",
                         "FLLW", "FAIL")
                return
            verbAct = "Following"
            swap = 0
        elif action == "unfollow":
            if userID not in userArray:
                printMsg("You are not following user " +
                         tCol.WARNING + userID, "FLLW", "FAIL")
                return
            verbAct = "Unfollowing"
            swap = 1
        elif action == "block":
            verbAct = "Blocking"
            swap = 1
        timeDifference = currentTime() - lastRel
        if timeDifference < REL_DELAY:
            execPause(REL_DELAY - timeDifference)
        if len(relArray) > 0:
            while relArray[0] <= currentTime() - 3600:
                del relArray[0]
            if len(relArray) >= 99:
                waitTime = currentTime() - relArray[0] - 3600
                if waitTime > 0:
                    execPause(waitTime)
        followCheck()
        printMsg(verbAct + " user " + userID, "RLAT")
        reqURL(modURL, post, "POST", "Relation")
        if response != "200":
            return
        if action == "follow":
            if userID not in userArray:
                userArray.append(userID)
        else:
            if userID in userArray:
                userArray.remove(userID)
        lastRel = currentTime()
        relArray.append(currentTime())
        if action != "block":
            getRelationship(userID, "outgoing", swap)

    # Return relationship to `userID`
    def getRelationship(userID, direction="incoming", swap=0):
        global totalFollows, totalUnfollows
        followURL = options.INSTAGRAM_API + "users/%s/relationship" % (userID)
        data = reqURL(followURL)
        if response != "200":
            return
        status = data["data"]
        incoming = status["incoming_status"]
        outgoing = status["outgoing_status"]

        if swap == 1:
            followLevel = "FAIL"
            noFollowLevel = "OKGREEN"
        else:
            followLevel = "OKGREEN"
            noFollowLevel = "FAIL"

        if direction == "outgoing":
            if outgoing == "follows":
                if swap == 0:
                    totalFollows = totalFollows + 1
                printMsg("You are following user " + userID, "GREL",
                         followLevel)
                return FOLLOWS
            else:
                if swap == 1:
                    totalUnfollows = totalUnfollows + 1
                printMsg("You are not following user " + userID,
                         "GREL", noFollowLevel)
                return NO_FOLLOW
        else:
            if incoming != "followed_by":
                printMsg("User " + userID + " does not follow you",
                         "GREL", noFollowLevel)
                return NO_FOLLOW
            else:
                printMsg("User " + userID + " follows you", followLevel)
                return FOLLOWS

    # Unfollow users who are not following back
    def unfollowUsers(allUsers=False):
        num_unfollows = 0
        for userID in userArray:
            if allUsers is True:
                followCheck()
                modUser(userID, "unfollow")
                num_unfollows = num_unfollows + 1
            elif allUsers is False:
                relationship = getRelationship(userID)
                if relationship == NO_FOLLOW:
                    modUser(userID, "unfollow")
                    num_unfollows = num_unfollows + 1
            secs = random.randint(1, options.MAX_SECS)
            time.sleep(secs)
        print num_unfollows
        if num_unfollows % 10 == 0:
            print "Unfollowed %s users " % num_unfollows
        printMsg("Number of users unfollowed is " + str(num_unfollows), "UNFL")
        options.ACTION = "LIKE_FOLLOW"
        begin()
        return num_unfollows

    def likeUsers(max_results, max_id, tag, likeCount, followCount):
        urlFindLike = options.INSTAGRAM_API + "tags/%s/media/recent" % (tag)
        post = {'max_id': max_id}
        data = reqURL(urlFindLike, post)
        if response != "200":
            return
        likeCount = 0
        followCount = 0
        for likeObj in data['data']:
            user = likeObj['user']
            userID = user['id']
            if userID not in userArray:
                try:
                    likeFollowCount = likeAndFollowUser(userID)
                    likeCount = likeCount + likeFollowCount
                except Exception:
                    return
                if (options.ACTION == "LIKE_FOLLOW"):
                    followCount = followCount + 1
                secs = random.randint(1, options.MAX_SECS)
                time.sleep(secs)
            if (likeCount % 10 == 0 and likeCount != 0):
                printMsg('Liked ' + str(likeCount) +
                         ' pictures from #' + tag, 'LIKE')
            if (options.ACTION == "LIKE_FOLLOW"):
                if (followCount % 10 == 0 and followCount != 0):
                    printMsg('Followed ' + str(followCount) +
                             ' users from #' + tag, 'FLLW')
                if (followCount == max_results):
                    break
            elif (options.ACTION == "LIKE"):
                if (likeCount == max_results):
                    break
        # if(likeCount != max_results):
        #    likeUsers(max_results, max_id, tag, likeCount, followCount)
        printMsg('Liked ' + str(likeCount) + ' pictures and followed ' +
                 str(followCount) + ' users from tag #' + tag, 'TAGS')
        return

    # Like and follow users
    def likeAndFollowUser(userID, follow=True):
        numLikesFollows = 0
        userURL = options.INSTAGRAM_API + "users/%s" % (userID)
        urlUserMedia = userURL + "/media/recent"
        data = reqURL(userURL)
        if response != "200":
            return
        followsCount = data['data']['counts']['follows']
        followedByCount = data['data']['counts']['followed_by']
        if followsCount < (followedByCount / 2):
            printMsg("User " + tCol.WARNING + userID + tCol.FAIL +
                     " is following less than half of their follower count.",
                     "FLLW", "FAIL")
            return
        data = reqURL(urlUserMedia)
        if response != "200":
            return
        picsToLike = random.randint(1, 4)
        printMsg("Liking " + str(picsToLike) + " pictures for user " +
                 str(userID))
        countPicViews = 0
        for picture in data['data']:
            if picture['id'] not in likeArray:
                likePicture(picture['id'])
                countPicViews = countPicViews + 1
                numLikesFollows = numLikesFollows + 1
                if(countPicViews == picsToLike):
                    break
        if follow:
            modUser(userID, "follow")
        return numLikesFollows

    def popFunction():
        urlPopular = options.INSTAGRAM_API + "media/popular"
        data = reqURL(urlPopular)
        if response != "200":
            return
        followCount = 0
        likeCount = 0
        for obj in data['data']:
            for comment in obj['likes']['data']:
                myid = comment['id']
                result = likeAndFollowUser(myid)
                if(result > 0):
                    followCount = followCount + 1
                likeCount = likeCount + 1
                if(followCount % 10 == 0):
                    printMsg("Followed " + str(followCount) +
                             " users", "followCount")
                seconds = random.randint(1, options.MAX_SECS)
                time.sleep(seconds)
                if (followCount == options.MAX_COUNT):
                    break
            if (followCount == options.MAX_COUNT):
                break
        printMsg("Followed " + str(followCount) + " users", "followCount")
        printMsg("Liked " + str(likeCount) + " pictures", "LIKE")

    def decider():
        if(options.ACTION == "LIKE" or options.ACTION == "LIKE_FOLLOW"):
            getUsers()
            getPics()
            for tag in options.TAGS:
                likeUsers(options.MAX_COUNT, 0, tag, 0, 0)
        elif(options.ACTION == "POPULAR"):
            getUsers()
            getPics()
            popFunction()
        elif(options.ACTION == "UNFOLLOW"):
            getUsers()
            unfollowUsers(False)
        elif(options.ACTION == "UNFOLLOW_ALL"):
            getFollowing()
            unfollowUsers(True)
        else:
            printMsg("Invalid ACTION specified", "ACTO", "FAIL")

    def begin():
        getAccessToken()
        decider()
        printMsg("Repeating script", "REPT", "WARNING")
        begin()

    print ""
    printMsg("----------------------", "FLIB", "HEADER")
    printMsg("  Welcome to " + tCol.WARNING + "Flibber  ", "FLIB", "HEADER")
    printMsg("  Chip (itschip.com)  ", "FLIB", "HEADER")
    printMsg(tCol.OKGREEN + "    @ChipIsTheName    ", "FLIB", "HEADER")
    printMsg("----------------------", "FLIB", "HEADER")
    print ""
    time.sleep(5)

    begin()

except KeyboardInterrupt:
    print ""
    if start == 1:
        printMsg(tCol.BOLD + "Keyboard Interrupt!", "INPT", "FAIL")
    else:
        print "Keyboard Interrupt"

finally:
    if start == 1:
        print ""
        printMsg(tCol.UNDERLINE + "Statistics from run:", "STAT", "WARNING")
        printMsg("Unfollows: " + tCol.BOLD + str(totalUnfollows), "STAT",
                 "FAIL")
        printMsg("Follows: " + tCol.BOLD + str(totalFollows), "STAT",
                 "OKGREEN")
        printMsg("Likes: " + tCol.BOLD + str(totalLikes), "STAT", "OKBLUE")
        printMsg("API Calls: " + tCol.BOLD + str(totalAPICalls), "STAT",
                 "HEADER")
        print ""