text:
Home Lifestyle Electric Picnic My Picks for the Picnic: Isabel Dwyer on six great acts to...
My Picks for the Picnic: Isabel Dwyer on six great acts to watch this weekend
Isabel Dwyer
Brought to you in association with Expert Laois
With over 100 acts dotting that navy poster, there's no lack of choice when it comes to the music acts at this year's Electric Picnic.
You might, though, find your eyes swimming through those white capital letters from top to toe, over and over, still not knowing one from the other.
Still not being able to tell who's worth abandoning the iron comfort of a stale Heineken can in the black hole that is the Hendrix campsite. Or a tin of Rockshore, even. Everyone's talking about Rockshore these days.
Anyway, no need to stress. Here are my six must-see Irish acts of the festival.
Junior Brother
Up first, my favourite. Hailing from Kerry, Junior Brother (Ronan Kealy) is the king of alt-folk, almost creating a genre of his own with album 'Pull the Right Rope'. Performing with a guitar, a tambourine, and a heap of red-raw talent, he's grown a fanbase through playing support for the likes of Damien Dempsey.
For a taste, listen to masterpiece 'I Told You I Would Leave', or crowd pleaser 'Hungover at Mass'. Find JB clinking away on the Body & Soul Main Stage at 3:30pm, Sunday.
Montauk Hotel
Imagine what the lovechild of The Cranberries and The Stone Roses would sound like and you have Montauk Hotel. These girls (Aoife, Claudia, Karima & Shell), based in Dublin, make shiny, old-school indie-pop.
Listen to '1984'. If it sounds good to you (spoiler: it will), you can catch them twice over the weekend. The girls will play Salty Dog at 9:40pm on Thursday, and again at the Trailer Park on Friday at 4:00pm.
Le Boom
If you find yourself in the mood to boogie at 4:00pm on Sunday, head to Rankins Wood for a bit of electro-pop from this duo. Le Boom is made up of Christy Leech and Aimie Mallon, both Navan natives.
Check out their music video for 'What We Do' on Youtube (which has over 90,000 views, and counting) to get a feel for them. Never have I ever felt so compelled to dance than by the tunes of these guys.
Powpig
Powpig are an alt-rock group from Limerick City whose music has a magical lo-fi tint – and whose members include four 17-18 year-old girls, three of whom have literally just completed their Leaving Cert. Y
es, that means the fourth hasn't even finished secondary school yet. Andrea, Anna, Leah and Lauren's music manages to feel mature as well as fresh, and their sense of humour lends an endearing confidence to their performances. This is definitely a group to watch out for. Listen to track 'Concerned' to see for yourself, or, even better, catch them at 6:40pm, Jerry Fish Electric Sideshow on Saturday, or at 4:00pm, Three Made By Music on Sunday.
Erica Cody
For RnB fans, Erica's your girl. From Dublin, her songs don't shy away from big topics like ethnicity and identity. Listen to 'Where U Really From' to hear what she has to say about her experience growing up as a mixed-race woman in Ireland. Behind the honest lyrics grooves a catchy melody every time. Find her dancing her heart out on the Heineken stage at 5:00pm on Saturday.
Another Limerick group, this trio bring us fun, hopeful pop-punk tunes like 'Never Let Go' and 'Pretty Pure'. The voice of lead vocalist/bassist Aofe Power will remind you of the late Dolores O'Riordan's. If that's not enough of an excuse to see them play, I don't know what is. Head to the Body & Soul Main Stage on Sunday at 6:00pm to reminisce.
SEE ALSO – My Pick for the Picnic: John Whelan on Michael Kiwanuka, the man behind 'Big Little Lies'
Previous articleThree Laois underage hurling squads set to compete in big tournaments at the weekend
Next articleElectric Picnic and I: The Laois politician that got on stage with FatBoy Slim!
Isabel Dwyer is from Portlaoise and first contributed to LaoisToday as our Leaving Cert Diarist during the state exams in June of 2017. Isabel is currently studying Creative Writing in NUI Galway


text:
Ardmore 47, Coweta 14
Story line: Ninth-ranked Coweta no doubt enjoyed a short-lived 7-0 lead and then watched its defense collapse beneath the weight of No. 2 Ardmore's high-powered passing game.
Star of the game: Ardmore quarterback Lionel Jiminez completed 15 of 22 passes for 279 yards and four touchdowns.
Other star: Running back Jimmy Colbert rushed for a game-best 92 yards on just 10 carries and represented the go-ahead score in the first quarter for Ardmore.
Noteworthy: The Ardmore Tigers outgained the Coweta Tigers, 454 191, and forced four turnovers, including Justin Fields' 13-yard interception return in the third quarter.
Tulsa East Central 21, Lawton MacArthur 13
Story line: The top-ranked Cardinals overcame an early deficit and limited the No. 7 Highlanders to a pair of field goals over the final three quarters in a 5A quarterfinal in the Oil Capital.
Star of the game: East Central senior quarterback Randy Palmer was 7-of-11 passing for 183 yards and three scores.
Other star: Cardinals senior Michael Barnett had six catches for 173 yards and three TDs.
Hartshorne 26, Holdenville 14
Story line: The District 2A-8 champs overcame five turnovers to continue their postseason march with a solid victory against previously one-loss Holdenville.
Star of the game: Hartshorne junior tailback Ian Robichaud rushed 31 times for 158 yards and a touchdown.
Noteworthy: The score was knotted at 14 apiece at the half, but Holdenville was stifled by a rugged Hartshorne defense over the final two quarters.
Rush Springs 35, Thomas 0
Story line: "Rush Springs was appropriate on a night when the No. 7 Redskins (12-0) ran roughshod over the Terriers. Rush Springs amassed 372 rushing yards and tacked on another 111 through the air.
Star of the game: Workhorse sophomore running back Dusty McClenny was superb with 247 yards on the ground on 35 carries. He scored three times.
Noteworthy: Following a scoreless first quarter, the Skins tallied four TDs in the second half and left the rest to a stingy defense that recorded six turnovers, including five fumble recoveries.
Morrison 52, Gans 22
Story line: Mighty No. 5 Morrison (10-2) rolled to a 36-0 lead and ended with 440 offensive yards in a battle of Class B heavyweights.
Star of the game: Morrison senior quarterback Garrett Childers rushed for 129 yards on 14 carries and two scores and completed 13 of 16 passes for 174 yards and two more TDs.
Other star: Senior teammate and fullback Lance Berrick carried the ball 14 times for 117 yards and three touchdowns.
Sharon-Mutual 36, Midway 20
Story line: Too much Clint Wilson on both sides of the ball led to Midway's demise, and sixth-ranked Sharon-Mutual (11-1) rolled into the semifinals.
Star of the game: Wilson, a senior tailback and safety, rushed for 199 yards and three touchdowns and added 17 tackles for a defense that gave up just five first downs.
Archive ID: 2799129

redpajama_set_name: RedPajamaCommonCrawl


text:
Auckland Art Gallery launches te reo Māori virtual tour
Media Release | Tuesday 18 August 2020
Auckland Art Gallery Toi o Tāmaki today launches an update for its virtual tour platform that includes a fully translated te reo Māori experience and audio tours.
The virtual tour of major exhibition, Enchanted Worlds: Hokusai, Hiroshige and the Art of Edo Japan, has been updated to now include audio tours and a te reo Māori experience. Available at virtual.aucklandartgallery.com, the immersive, interactive online experience means the exhibition – forced to close five days early as part of Aotearoa New Zealand's response to COVID-19 – continues to be accessible to audiences right around the country and beyond.
Auckland Art Gallery Director Kirsten Paisley says the Gallery wants to see more programming available in te reo Māori.
'Making te reo Māori a more accessible and widely used language in everyday settings, not just in educational contexts, is essential to normalising its use. We hope this is a unique opportunity for speakers, learners and those building confidence in the language to have an engaging visual arts experience delivered entirely in te reo Māori.'
Both English and te reo Māori versions of the tour now include an audio guide too, delivering further access to ancient Japanese art through spoken-word curator insights.
Enchanted Worlds was the first exhibition of original paintings by the leading artists and schools of Japan's Edo period (1603–1868) to be held in Aotearoa New Zealand. This new virtual tour platform – which takes these exquisite paintings from the walls of the Gallery and presents them online for people to explore from home – was developed during the Gallery's temporary closure due to the COVID-19 pandemic earlier this year.
Viewed via a web browser on computer, tablet or smartphone device, users are able to choose between three different tour experiences: a family tour with fun facts and art-making activities; a curator's highlight tour that covers insights and stories on Edo-period poetry, music, theatre, fashion and visual arts; and an in-depth exhibition experience with extended artwork labels.
Using navigation tools to virtually 'walk' through gallery spaces, users can explore Enchanted Worlds via high-resolution digital images offering close-up views of the intricate, hand-painted details of over 70 exquisite and rare artworks, including delicate silk paintings, precious scrolls and vibrant folding screens.
For more information, images and interview requests contact:
Samantha McKegg
Communications Officer, Auckland Art Gallery Toi o Tāmaki
M +64 21 548 480 | E samantha.mckegg@aucklandartgallery.com
W www.aucklandartgallery.com
Press release - Auckland Art Gallery launches te reo Māori virtual tour
99.69kB pdf file


Watch ICE's Matthew Marston give a training overview on the Cleanfix S10 Vacuum Cleaner.
Watch ICE's Luke Bresnihan give a training overview on the ICE Vac CTV tub vacuum cleaner.
Watch ICE's Victoria Richardson give an overview of the LS50 Hybrid Vacuum Cleaner.


Today it's be snowing and sleeting here in Oklahoma. We've even had some thunder and lightning throughout the day. Thunder snow is what they called it. Needless to say it's been a great day to stay inside and make a card inspired by Spring colors. I used patterned paper from the Little Bo Peep Collection by Crate Paper. I've been hoarding this paper for awhile. Green is one of my favorite colors and the shade of green in this collection is just beautiful. Since the papers are pretty busy, I did some zig zag stitching to add subtle detail. The pink card stock is Primrose Petals by Stampin' Up! and I used So Saffron, Daffodil Delight and Crushed Curry inks to create the flower. The yellow flower was created using the Secret Garden stamp set and matching framelits. I stamped the flower three times and did some fussing cutting for the layered center. The leaves were cut with the Little Leaves Sizzlits and the scallop circle is by Spellbinders. The Happy Birthday Wishes sentiment is from the Simply Sketched Stampin' Up! hostess stamp set and I used and oval punch and my Cricut for the base oval. The final touch was a Crushed Curry Candy Dot in the center of the flower. Thanks for stopping by and have a wonderful week!
Hiding in My Craft Room: Spring Colors!
This is so gorgeous. Love that awesome stitching. I spotted you over on Make it Monday and popped over for a closer look and I am so glad that I did.
Gorgeous card - love the colours! Your stitching is very pretty!
Gorgeous!!! Love that big flower! Your colors are wonderful!!! Saw you on MIM! and I you also entered at Open-Minded!! :) Thanks so much for playing along with us at Open-Minded Crafting Fun Challenges!!! Good Luck! I hope we see you again!!
Gorgeous and I love the stitching! It adds pizzazz! I saw this on MIM!
What an awesome bright card -- this is a great creation on a cold wintry day. The spring colors are a great way to say Happy Birthday.
Hi Andrea, thanks for your lovely comment and I spotted you on MIM.
Your card is gorgeous, your design and papers are fabulous and I love the beautiful daffodil!!
Very pretty card and I love the zigzag stitching. Thanks for joining us this week at Creative Corner Challenges.
wow you sound like you are having all kinds of different weather! Love the card and the fabulous stitching!
This is such a lovely and very pretty card !!! I love the design !!! Thank you so much for joining us at Jo's FFC !!! Hope you have a wonderful day !!!
I saw your pretty card on MIM - love it!
Gorgeous card!! Love the Spring Colours you have used!!
Hi, Andrea - I just came from Jo's Scrap Shack - you won something over there with this beautiful card! Congratulations!
This is really lovely, Andrea! Fab flowers. So glad you chose to play along in our "Something Green" challenge at Open-Minded Crafting Fun this fortnight. Good luck in the draw.


text:
RDAA
About RD
SOLA Group
Home » Pro-File Design: Alchemy Architects
Pro-File Design: Alchemy Architects
By S. Claire Conroy
The award-winning Sonoma weeHouse by Alchemy Architects. All photos Courtesy Alchemy Architects.
There are two powerful housing ideas that caught the imagination of the public during the early part of this millennium. The first was the modern modular movement, and the second was the tiny house crusade. At the forefront of both of those waves was Geoffrey Warner of Alchemy in St. Paul, Minnesota. You might not recall his name, but you have surely heard of his brainchild, weeHouse. WeeHouse is a synthesis of modular and tiny house, with the dual goal of making architect-designed housing more affordable and accessible. The first weeHouse in 2003 was an answer to several problems at the time, and it's still answering problems some 50 iterations later.
Geoffrey Warner of Alchemy Architects.
Geoffrey built the first weeHouse in response to a client's extremely restrictive budget. She wanted a modern weekend home for a piece of property she had on Lake Pepin, a natural lake on the Mississippi River that spans between Wisconsin and Minnesota. She had only about $50,000 to spend but approached Alchemy to learn what she might get for her money. "We hear the same thing today as we heard in the early 2000s," Geoffrey says. "I spent all my money on the land, but I value good design. The answer back then was just as depressing as it is now. We told her, you can have a pole barn or a little jewel box—if you forgo electricity and plumbing. There weren't many builders near the site, so we decided to build it ourselves."
Geoffrey, who has a background in hands-on work, and his small team built the 336-square-foot box. It wasn't exactly factory built, but it was built off-site. "I knew an exhibit design fellow with a warehouse and a big door. So we built it there—listening to music by Journey and Foreigner over and over again. I still can't listen to them to this day," he quips.
Why 336 square feet? "That was how big we could make it and get it on a truck," he says. "The building permit only cost us $12." The Arado weeHouse, as it became known, was off the grid by necessity (no budget for infrastructure) and equipped with just the bare bones of shelter, but it was not without some civilized touches. There was an Ikea kitchen, a wood burning stove, and, best of all, floor-to-ceiling Andersen sliders—not really windows, not really doors, but walls of glass, immersing the cabin in its natural surroundings. Eventually, the owner recouped enough financially to add the luxuries of a deck and an outhouse—and she swapped the original cement siding for Cor-Ten.
The first weeHouse was built for about $50,000 and was completely off-the-grid.
The charming tiny house captured the imagination of the public and garnered career-launching press for Alchemy. So much so, the firm decided to develop the weeHouse idea into a full-fledged modular home enterprise. The lesson learned from this first foray into micro-modular dwellings was an important one for Geoffrey, resonating with all he absorbed in architecture school and in life: "Budget is really secondary to making a project that really matters," he says.
The Marfa weeHouse, just 440 square feet, lives large with sheltered outdoor areas.
Scratch the surface of any breakout idea or artist, and you will find antecedents and influences that helped make them happen. In Geoffrey's case, he had studied at the University of Minnesota with residential architect Dale Mulfinger, FAIA. Dale is a local hero in Minnesota, founder of the firm SALA and its predecessor, Mulfinger, Susanka, Mahady Architects. These firms germinated the "Not So Big House" movement that Sarah Susanka, FAIA, codified in her book of the same name. To paraphrase the argument that Sarah makes in her treatise, designing and building a house is a size, cost, quality equation. If you want more size or quality, it will cost more. If you want quality, but your budget is tight, you must compromise on size.
This was an especially important message coming after the big volume-busting houses of the 1980s and 1990s, emphasizing square footage and ceiling height over craft, quality materials, and human-scaled spaces.
For his part, Dale's personal and professional passion is the cabin typology, something he's chronicled in a number of books. The special resonance of the building type emanates from its typically smaller size, its immersion in natural settings, and its ability to simplify daily life in meaningful, powerful ways.
"Dale's imprint and influence has really shaped our community," Geoffrey observes. "He's an evangelist for residential design and has built a practice revolving around small projects." WeeHouses take the "not so big" mission to heart. They also capture some of the magic of the cabin in their ability to distill function and form down to their essence.
Now that they've been around almost two decades, weeHouses have gotten a bit less wee in some cases, as clients' goals and budgets have become more bountiful. But they still carry forward their emphasis on a highly insulated building envelope, siting that considers solar orientation, and spare detailing. Their modular system allows them to grow with the program, sometimes as boxes linked "like a compound," says Geoffrey, or stacked into multiple stories. "Because it's a system of boxes, each can have a different function," he explains. "You can have a sleeping box, a living box. We don't dictate how you're going to combine them." Nor does Alchemy dictate how they should be built—on-site, in a factory, or panelized prefab. Choosing a construction approach is part of the due diligence of design development.
Since its first foray into modular with the weeHouse in 2003, Alchemy has amplified its product portfolio. The 2010 Blair barnHouse (shown above and in the two photos below) riffs on the ubiquitous rural structures that dot the American countryside. Its abstracted siding and canted walls suggest it's already tumbling down.
Although based on a common modular system, the boxes are a tabula rasa for customization. "The key to making it awesome is deciding whether you enter it from the end or the side, the materiality you choose inside and outside, and the fun things you can do, like awnings, light poles, steel stairs—the jewelry stuff you can add on." In some ways, the weeHouse is that little black dress you elevate by accessorizing.
The Cumberland weeHouse (above and below) gets tall with stacked boxes.
The clients for the Rocky Brook weeHouse (above and below) in New Hampshire were repeat customers. Modules stack and pull apart from each other to climb the hilly creekside site and bathe in its natural setting.
Designing small houses is as much about what you take away as what you add, but what you can't sacrifice is siting and landscaping. Geoffrey has firsthand, lived experience in renovating modest little bungalows into functional spaces that serve family life, but the projects didn't end at the front door.
"Bungalows are a common building type here. They are small, but practical. I lived in an 800-square-foot bungalow and rebuilt the hell out of it," he says. "I've lived in a succession of them, and now we live in a house we designed for someone else. What we've really come to appreciate is, that only when the landscaping was done did each house finally feel like home. It's equally important to integrate the landscape with the house."
He now applies this personal experience to Alchemy's modular program. He tries to visit each site to guide the process of marrying structure to landscape. Most of the firm's work is far flung, so this is no small task. It's meant many trips to the West Coast and the Northeast, where most of houses are built. "This is one reason we don't go around touting how awesome we are, because the process is pretty grueling," he says.
The modular approach, though, does make the design development phase more streamlined than a conventional custom build. "By the time we meet with the clients at the site, they've already shared their program, we've shared some ideas, and they've said what they like and don't like," he explains. "We work through those in the evening and come back the next day and start making some decisions. It pulls out all the possibilities the clients have been thinking about for a long time. We didn't use to see all of the sites, but I've discovered it's important to put in those intense two days."
Having a building system that's replicable is a welcome relief for many clients. They don't have to conjure something entirely new out of whole cloth with their architect, and that instills confidence that they'll get what they want at the end. They must accept the givens of the modular components, but within those parameters there's a great deal of customizing and tailoring possible. Together, clients and architect speak a language that makes collaboration a creative process they can both share in.
"Our clients tend to be cultural creatives. They don't have a lot of money, but they're willing to spend it on design. And they tend to buy into the ethos that smaller has advantages beyond simply that it costs less," says Geoffrey. "We collaborate with clients who are designers and architects themselves—especially ones who don't do small houses."
Of course, there are some collaborations that don't make it to the construction stage, but Alchemy recycles them to its website as alternative weeHouse strategies. Some have been so different they warrant their own nomenclature. There is now a barnHouse system, which can sport a pitched roof and a more familiar, classic profile. And there are lightHouses that return to the weeHouse's roots of micro-housing with very limited luxuries. LightHouses are designed to keep costs and square footage down, and may find their best niche as accessory dwellings, "granny flats," home studios, or small cabins. They evoke the spirit of the Arado weeHouse, whose owner ultimately sold the rural land it occupied and had Alchemy move it to the backyard of her suburban home.
The WinHall barnHouse is a hybrid SIPs renovation that provides a template for a modular barn-house solution.
The lightHouse aims to get back to the tiny weeHouse roots and answer the need for accessory dwellings and outbuildings.
With such a diverse pattern book, the firm knows it needs a new, more fulsome website—and one is in the works. After all, their best clients are ones who've done their research into Alchemy's systems and offerings—essentially prequalifying themselves and their projects. "We've done a really good job of keeping our designs simple," Geoffrey observes. "But we've realized people want to see a big matrix of design possibilities—a collection of 'ideagrams.' The idea of arranging boxes is intuitive with people."
Additional Photography
[Text provided by Alchemy Architects]
Sonoma weeHouse
The Sonoma weeHouse was designed in Minnesota for a client in San Francisco, built in Oregon, and shipped to its Santa Rosa, CA site 90% complete. The client, an architect himself and Apple's Senior Design Director, Real Estate and Development, was the project's co-pilot with Geoffrey C. Warner, Alchemy's principal architect. This small, ultra-minimal, high-end home is based on Alchemy's weeHouse design, but was customized to meet the luxe finishing requirements the client requested.
The home is composed of two minimalist open-sided boxes set on board-formed concrete plinths nestled on the edge of gnarled oaks. Both structures feature steel frames, 9 ft. tall sliding glass walls set into custom corrugated weathering steel boxes, and ipe interiors with oiled oak cabinetry. The offset boxes are connected by a set of Alchemy-designed steel stairs and railings which were fabricated in Minnesota.
The 16 ft. x 40 ft., 640 SF primary box features a whitewashed oak bed box in the middle of the volume. A kitchen-dining-living room space is on one side, and a bath space on the other. For shipping logistics, the primary box was composed of two modules, one being the 10 ft. x 40 ft. porch. The porch module was bolted onto the main module onsite, and cantilevers into the site's dramatic landscape.
The accompanying 330 SF guest house is an abridged version of the larger module with a large whitewashed oak wardrobe forming the bathroom wall. Both structures take advantage of the site's expansive view.
Blair barnHouse
Alchemists live in the Midwest and we love barns. This house takes all its clues from the 19th century barns still dotting the prairie, but updates them for the 21st Century. It features Barn siding (painted pine installed to allow for breathing and rain screen properties) with light filtering through a few, large openings. Inside, a sleeping loft above, and bedrooms below fit the needs of the owners. There is also interior Barn Space, an open, two-story room with two volumes inserted within. One in steel, the other in ash strips, they provide under-and over-spaces like a hayloft, and provide flex office/guest space.
Rocky Brook weeHouse
A loft-like house is carved out of the grade of a steep creekside lot, blending the margins between aged artifact and landscape.
The house is about close views, inhabiting the sound of rushing water, and moving through the trees and vertical space of the New Hampshire White Mountains. Over- and under-spaces provide comfortable places to be in hot or cold, sunny or rainy weather. Exterior finishes were chosen for their durability and the ability to blend, organically over time, into the natural context.
The owners, who previously built the Johnson Creek weeHouse and described the second floor as "one of the most beautiful interior spaces they had ever been in," moved from Philadelphia to Boston and started anew. They are "creek people" who value serenity.
lightHotel
The LightHotel, a one room mobile hotel built using a shipping container, is a one-time art project by Alchemy. It stood as a beacon for ecotourism and sustainable living in the Twin Cities, and moved as the flow of the city required, occupying places both celebrated and ignored. The city itself was its lobby.
Its interior is efficient and luxe, making the most of limited space within the salvaged 8′ x 20′ shipping container. Just like most hotel rooms, there's no kitchen, so overnight guests ordered "room service" from nearby hot spots. Built for the year-round Minnesota climate, it features a spray foam shell, triple-glazed windows and doors, solar powered HVAC, LED lighting and hydronic in-floor heat. The water system is self-contained, with a 250-gallon water tank that supplies an on-demand water heater and a bio-filter producing re-usable grey water. A high-end, roomy shower keeps a body happy. Mechanical detritus and applied typographic overlays entertain and provide functional insight.
The LightHotel is part of Alchemy's ongoing effort to celebrate and create new paradigms for efficient living.
NOTE: In 2018, the LightHotel was sold to an entrepreneur in north central Minnesota who is forming a 'circle' of sustainable structures that will be rented out.
S. Claire Conroy
Awards RDAA
2021 Residential Design Architecture Awards Competition Deadline Extended to February 4
Residential Design magazine invites you to enter your best residential work in our national RD Architecture Awards competition (RDAA). The RD Architecture Awards recognize excellence in custom residential design. This is a...
Private Residential Spending Is on the Rise
NAHB analysis of Census Construction Spending data shows that total private residential construction spending rose 2.7% in November to a seasonally adjusted annual rate of $658.1 billion. Total private residential construction spending...
Case Study Design Interior Architecture
Case Study Interiors: Wisconsin Street Residence by Nick Noyes Architecture
There's a tension in San Francisco—and other older urban cores—between preservationists and pragmatists. The Wisconsin Street Residence, a renovation of a former motley Victorian-esque townhouse in Potrero Hill, tripped onto that live...
Case Study Design
Case Study: Lookout House by Faulkner Architects
"A house's aesthetic is earned from the process of making a good place experientially," says Gregory Faulkner, AIA. "If you make good decisions with those experiences, the appearance is good. It becomes...
Qualified Remodeler
Kitchen & Bath Design News
© 2021 SOLA Group Inc. All rights reserved. V1.5 Website Managed by Fresh Design Studio


text:
About The Local
When the Local was first started, most of our members worked directly for department stores of the city who performed most of the installation work involved in our trade. For many years, the members of the Local worked on seasonal basis with six months employment the average time for a year. It was not until the Second World War that our members did not work under this seasonal basis.
The wage in the year 1870 was $2 per day for 12 hours work. The first contract became reality in 1902 when the wage was $18 per week for steady members and $21 for season members with first year apprentices receiving $10 a week. The working hours were from 8:00 am to 6:00 pm, overtime being paid at double time rate.
In 1937, the Local and its members did not wish to stay with the Committee for Industrial Organization (CIO) and wanted to stay with the American Federation of Labor (AFL) and so we became part of the United Brotherhood of Carpenters.
On July 6, 1942, a decision from the National Referee of the Building and Construction Trades finished the jurisdiction problems that had taken place with the following trades over a period of years: Brotherhood of Painters, Composition Roofers Association, Bricklayers, Masons, Plasters International, Operative Plasterers and Cement Finishers. The territorial jurisdiction would be assigned as follows: The Painters would have jurisdiction from Kansas City, Missouri, and all territory westward, to the united Brotherhood of Carpenters all territory eastward from Kansas City, Missouri. This affected our local and help put an end to the problem that had occurred over many years
Many strides have been made in our industries since the beginning of the Local to present day, including Welfare, Pension, Vacation, and Annuity for working members.
We are proud of our history and the members who founded our Local many years ago. We will in the future try to the best of our ability to carry out our duties with the best interest of our members always.
Ron Zimmerman, President
Keith Ferraro, Vice President
Samantha Brito, Recording Secretary
John Walz, Financial Secretary
Kirt Lezama, Treasurer
Ralph D. Perez, Jr., Warden
Brian Fleming, Conductor
Executive Delegate
Anthony Lewis
Oscar Escobar
Anthony C. Vincent
Vincenzo Francese
Member Events Gallery
September 2022 Softball Tournament
Local 2287 Past Affiliations
Carpet Upholsterers Benevolent Union
Carpet Upholsterers Local #70
International Upholsterers Union of North America
Carpenters Floor Coverers Local #2070
United Brotherhood of Carpenters and Joiners of America
Linoleum Carpet & Resilient Floor Coverers Local #1270
International Brotherhood of Painter and Paperhanger of Americas
Resilient Floor Coverers Local #2287
Stronger Together.
Floor coverers install a wide variety of flooring materials, including carpet, resilient, wood, laminates, and sport surfaces. Local 2287 members are committed to achieve the highest standards of quality and service, as well as provide true value in the floor covering industry.
© 2022 Local 2287. All Rights Reserved. Design by 333marketing.


It turns out that the digital recording box or the cable box or such on the top of your TV set has a voracious appetite - for power. That being said, it also is costing billions of dollars a year to you and the rest of the nation's consumers because unlike you, it never sleeps. Tens of millions of Americans snooze through the night unaware that their diligent efforts to curtail heat and air conditioning and lights are being undercut by the tabletop box in the TV room.
This insomniac monster doesn't go into a powered down mode when not in use like your cell phone. It gobbles full tilt consuming 27 billion kilowatt-hours of precious energy, roughly the annual output of nine coal-fired plants. The national price tag is about $3 billion each year. Some of these innocuous electronic devices dispose of more energy than a big refrigerator.
The Energy Department is considering putting out conservation requirements for the devices because an Environmental Protection Agency plan asking manufacturers to conserve may not be enough to change things. Well, so much for the spirit of cooperation when it comes to conservation. It would be easy to use the same technology that cell phones use to preserve batteries. European manufacturers have done so. While consumers might complain initially about the time it takes to warm up a machine that goes into deep sleep mode like those in Europe, a little education as to why might overcome that objection easily.
Why don't the U.S. manufacturers go along? It's because they aren't paying for the power. We are. According to The New York Times, the providers who distribute these set-top boxes have generally ignored their inefficient use of power because the costs are passed on to customers. That should surprise no one, understanding that this is the American way of doing business.
Awhile back the government decided to regulate household appliances, including refrigerators. It worked with the "icebox" which is now consuming a fraction of the energy it once did. If the truth be known, this country unwittingly wastes more energy through convenience devices than any single thing. Each year brings a new set of electronic wonders that scarf up power unless someone challenges the geniuses that have made our lives one giant social electrode. That doesn't seem to be the case in this instance.
In fact, in explaining why the 160 million set top boxes throughout the United States are allowed to operate in such a fashion, one manufacturing company was quoted by the Times as saying no one ever asked them to use less power. They have to be kidding. The cost of energy is an inescapable concern shouted from the rooftops daily and these guys said no one ever told them? The real reason obviously is that they could get away with it at no risk.
Obviously, we're also to blame. We plug something in the wall without ever asking and certainly no one ever told us that this devilish little box never really turned off. I personally don't even have a recorder of shows because I couldn't work it if I did. Besides it is rapidly becoming a thing of the past. I do have four of those boxes that bring us television these days. Now and then they must have power indigestion problems because they burp and have to be replaced.
It may be some time before boxes around the nation get the deep sleep treatment. The EPA's program with its "Energy Star" certificate to products that meet targets has been successful with other products, why not this? Largely because the major cable companies have failed to sign up. Without that support, the manufacturers seem unlikely to respond by improving the technology. If conservation minded consumers want a cause celebre, one could hardly think of a better one.
Here's a suggestion. The next time you need to switch your cable box, ask your provider if you couldn't get one that turns off when idle even if it snores at night. Enough of those kinds of questions and somebody might get the message. Barring that the Energy Department should flip the switch.
E-mail Dan K. Thomasson, former editor of the Scripps Howard News Service, at thomassondan@aol.com.


Make sure you get the perfect look with our huge choice of 4mm piercing balls. 4mm balls are one of the popular sizes and are often found on the top of bananabells, as well as plenty of barbells and labret studs. On this page you'll find jewellery that comes with 4mm balls, as well as loose balls you can use to update existing pieces.


text:
Pineas Jacob est un footballeur namibien né le .

Il a participé à la Coupe d'Afrique des nations 2008 avec l'équipe de Namibie.

Carrière

 2007- : Ramblers ()

Palmarès
Meilleur buteur du championnat de Namibie de football en 2008

Footballeur international namibien
Naissance en octobre 1985

redpajama_set_name: RedPajamaWikipedia


text:
Housing prices haven't bottomed out in Metro Vancouver: realtor
Posted Jul 2, 2019 10:09 am PST
Last Updated Jul 2, 2019 at 11:38 am PST
FILE: Downtown Vancouver. (Lasia Kretzel , NEWS 1130 Photo)
The largest drops are in higher-end houses and condos
Some developers are even cancelling projects, Saretsky says
VANCOUVER (NEWS 1130) – Maybe you've heard they've stabilized, but a local realtor doesn't think housing prices have bottomed out in Metro Vancouver.
Realtor Steve Saretsky says prices are still being negotiated lower, noting some developers are even cancelling projects.
"Nobody notices if prices are declining, like, maybe half a per cent a month, right?" he says. "I mean, at the end of the year you're down six per cent, so it's like nobody really notices, it's so hard to calculate."
He says because the prices haven't bottomed out, buyers and sellers are still at odds.
"Buyers are trying to get next year's price and sellers are trying to get last year's price. That's kind of what's happening in the market, that's partially why you have like no sales."
RELATED: TD Bank's B.C. forecast indicates decline in home prices will end in 2020
Saretsky says while we've seen the largest drops in higher-end houses and condos, the downward trend has been seen in other condos as well. He adds a spring market doesn't usually see big drops.
"With June now just wrapping up, that signals the last bit of the busy year that we generally see," he says. "Typically speaking, July and August are generally slow months for the real estate market."
Saretsky says the number of home sales in June in Greater Vancouver was the lowest it's been since 2000, and he thinks the trend will likely continue over the coming months.
Spending plans may limit impact of Liberals' housing strategy, PBO saysShutdown, cuts at B.C. pulp and sawmills add to forestry job losses
homes|housing|housing prices|real estate|real estate market|Vancouver housing crisis|vancouver housing prices


text:
Medicine and the Law 2019
Anatomy of the Most Common Personal Injury Claims
MEDICINE AND THE LAW:
Award Winning Anatomy for Lawyers CLE Series Expanded into a Joint Certificate Program from Temple University's Lewis Katz School of Medicine and the James E. Beasley School of Law
Instructors: Professors Steven Popoff, Samuel D. Hodge, Jr. and Virginia Graziani Lowe
Dates: March 12, 2019 to April 2, 2019 (4 consecutive Tuesday nights from 6:00-8:30pm)
Location: Temple University Medical School, Medical Education and Research Building, 3500 N. Broad Street, Anatomy Lab 410, Philadelphia, PA 19140 (On the North West corner of Broad and Tioga Streets)
CLE Credits: 9 substantive hours, 1 ethics hour
Course Cap: 30 Participants
Anatomy for Lawyers, the award winning CLE series developed and taught by Professor Samuel D. Hodge, Jr., will be expanded into a four week CLE offering that will provide a joint certificate in Medicine and Law with a focus on the most common injuries seen in a personal injury claim. Statistically, injuries to the spine, shoulder, hand, hip, knee, and foot are the most common injuries giving rise to personal injury claims.This course will focus on the anatomy of these areas and will explain how trauma occurs to each unit. The course will be a collaborative effort among the Temple Schools of Law and Medicine. Professor Samuel D. Hodge, Jr., will co-teach the course with Dr. Virginia Graziani Lowe, M.D., J.D., Professor Steven Popoff, Ph.D., and the anatomy faculty from the medical school. Classes will be held on Tuesday nights at the medical school and will include classroom lectures, hands-on instruction, and actual dissections of the body in the anatomy lab, along with diagnostic imaging reviews.
Following an introductory lecture, which will include a discussion of medical ethics, the course will cover:
March 12, 2019 (Class One)
Medical Ethics and an Introduction to Medicine and Trauma
March 19, 2019 (Class Two)
The Spine and Peripheral Nervous System
March 26, 2019 (Class Three)
The Shoulder, Hand, and Nerves of the Upper Extremity
April 2, 2019 (Class Four)
Hip, Knee and Foot
Professor Hodge explained the reasons for expanding the popular CLE series: "Lawyers are trained to recognize or defeat theories of liability. That, however, is only a part of a claim. Medical issues, such as causation and damages, play an equally important role, but most attorneys are not educated in medical matters. This joint certificate program is designed to help attorneys better understand the nuances of medicine and trauma involving the injuries that most often surface. Attorneys will obtain 'hands on' experience in the dissection lab as they learn the intricacies of the human body while being exposed to how the spine and extremities work."
Upon successful completion of the program, attorneys will receive the appropriate CLE credits and certificates in Medicine and Law from both the law and medical schools.
For more information and for details about course registration, please contact:
Farlistcity El, Office Manager
Temple University Beasley School of Law
Continuing Legal Education Program
Email: farlistcity.el@temple.edu
Copyright © 2019 Temple University Beasley School of Law


Oil your hair before the race to make it easier to wash the color out. If you have lighter colored hair, you might want to consider this option. You can use olive oil, coconut oil, or a leave in conditioner.
Wear sunscreen, lip balm, and your new shades. You can never be too careful with the sun, and you'll want to keep color out of your eyes.
The color should eventually wash out of everything (except maybe your run shirt), but you may not want to wear any items you want to keep in pristine condition.
Be prepared to have a blast and enjoy the exercise, and to celebrate our veterans' sacrifice with friends.
We suggest showing up at least 30 minutes in advance to ensure you have picked up your registration packet or registered before the event.
Spectators are welcome and participation is encouraged! Bring your family, your friends, your neighbors, and anyone proud of our veterans.
There will be live music and food/drink vendors, and color and T-shirts will be available for purchase.
You will receive color for your personal use in the "battles." Throw it enthusiastically, but try not to aim for anyone's eyes. Aim for the waist. Remember this is a fun event, celebrating our veterans' sacrifice and to create a scholarship for veterans at the University of Wyoming.
You will receive sunglasses with your registration. Wear them to keep the sun and color out of your eyes. Also, don't forget to protect your skin from the sun as much as possible.
Take a few minutes to dust off as much dry powder as you can before you leave or apply any water.
Cleaning your hair: Dust any loose powder out of your hair. Rinse out the remaining color and wash your hair as you normally would. Most of the color should come right out. However, it is not uncommon for hints of some of the color, pink and purple particularly, to stick around for a few washes. Wear it like a badge of honor for your participation in COMBAT Color, or wear a hat.
Cleaning your clothes: The color will probably not come all the way out of your white cotton shirt. You should be proud of your run shirt, but almost everything else should clean up fine. To preserve your run shirt, spray it with vinegar and iron it a few times before washing. For everything else, remove all excess powder before adding water, and wash your run gear separately, with COLD water. Something like Oxiclean will work wonders on your running equipment. Some color may remain, but just remember it is your reminder of COMBAT Color and your contribution to veterans at the University of Wyoming. Eventually, it'll all be gone.
Finally, don't forget to have the time of your life!!!


text:
School News on Curious Times
Curious about School News on Curious Times! Curious to know, how can your school news be on the leading school newspaper and kids' news website!
School is almost like a second home. At Curious Times we believe that children have a deep bond with their school. In fact, children take pride in representing their school. There is purpose and meaning when they participate in school events or report their school news and happenings.
On the other hand, a school as an institution is identified by its students and faculty. Whether it is curriculum, syllabus, collaborations, or certificates and trophies, a school is as good as its staff and students.
School News and Curious Times
Curious Times is a curated newspaper for children. It provides sensational free current news, and informative content laden with fun, creative, and cognitive thinking. In fact, our research and content are aligned with the latest curriculum. And we aim at building a generation of children who are armed with 21st-century skills.
Since our goals match perfectly with that of educational institutes and schools, we work closely with schools. We feature and give focused attention to each school by providing a platform for its students, management and faculty.
School News through My School Program
School News to report everything that is important for your school.
My School program is an integrated program created by Curious Times for our partner schools. It provides a dedicated school page on the Curious Times website. Students can sign up using their school code to access the My School page and the curated content on our website. Also, we publish content created by the students. These could be their expressions, in form of writings, photography, art, poetry and more. We also conduct competitions, contests, quizzes, hand out certificates and much more to engage the children constructively.
One of the biggest advantages of My School is that it is a perfect platform for School News. There are always a lot of activities, events, competitions, club projects etc. that are constantly happening in school. Curious Times provides an exclusive segment for school news. The school mentors can submit their school news for publication on the page.
The school logo is displayed on the My School page. The logo also appears on all the published articles, arts, and contributions of their respective students on My Expressions.
Benefits of My School Program
My School is a significant way for a school to partner with Curious Times. Our symbiotic relationship helps in the holistic development of the student. However, there are also many other benefits that institutions can reap through this platform.
Amazing exclusive features for Schools.
School news on Curious Times with learning and participation
Schools can use the Curious Times website as a medium to showcase the skills of their students. School students can participate in the competitions, contests and activities on Curious Times as School Members. Not just the students, the participating schools also receive awards and mentions. The published works of the students with the school logo can be accessed online and in offline print too. Schools can also avail The Curious Magazine, Curious Times Weekly, Flavour of the Month, Quizzes etc.
My School acts as a source for all school news. On the page, you can post important announcements, such as principal and management interviews, admission dates, competitions, awards or events.
Curious Times provides current and informational news every day to our young readers. Sometimes, teachers need to explain current affairs and relevant articles, as they connect to their teaching curricula. We provide such explainer content and resources to teachers.
School News builds school brand
Leading Schools are on Curious Times. New school are joining every week!
Today schools are putting disproportionate effort into upgrading the infrastructure, staff, technology, and curriculum, as they also get ready for the New Education Policy (NEP 2020). Schools also need to communicate their growth and talk about their brand, and build their own brand value to attract more parents and students. Collaborating with Curious Times is a wonderful way to communicate the quality and values of your school. Curious Times helps in enhancing the school brand, displaying its various strengths and showcasing its standard of education and extra-curricular activities.
In a technology-driven world, it is important to have an online presence. Also, the pandemic has opened up a large scope in involving the online mediums and platforms for the use of education. Social media too kicks in its weight when it comes to being connected virtually. However, usually, only followers view posts on social media which are often self-published and unverified. But with My School, all school news and happenings are verified, reviewed and can be viewed by the fraternity and community of educators. This instills more confidence in the readers too.
Schools are constantly looking for recommendations and resources in various aspects for the growth of their students and their institute. We have many counsellors, partners, and guests listed on our website. Schools can reach out to them and engage them too.
Register for the My School program
Once a school is registered, it is assigned its school code and its logo gets registered on Curious Times. Any student or faculty from the school can sign up using the school code. Please contact contentteam@curioustimes.in to register your school. You can apply for registration on this form: Curious Times School Registration Form.
School coordinators and mentors have access to post-school news. Contact us at contentteam@curioustimes.in to register as a school mentor.
Students can participate in our various competitions, campaigns, quizzes etc. by signing up using the school code. All published works of the student will appear along with the school logo on our website.
Schools can choose to restrict the participation of up to a few entries by students for competitions. Mentors can do quick ticks at the backend and allow recommended entries only.
My School feature is an excellent platform. It acts as the perfect page for all communications within the community and fraternity. Also, with exclusive school news and a school logo, schools get a splendid platform to exhibit, as well as advertise. Students and teachers benefit greatly from our many activities, besides gaining access to our daily dose of news and informational articles.
Yes, school is like a second home for children. And by partnering with Curious Times, we hope that together we can lay a foundation and an environment for students to keep their curiosity thriving.
Category: Flavour of the month
Curious Times Events' Certificates | Curious Times says:
[…] School News on the School Page and special news section […]
Flavours of the month
The Republic Day Event
Christmas Greetings from Curious Times
Are you ready for Halloween Party?
The Festival of Lights – Diwali
The Festival of Navratri
International Day of Sign Languages – 23 September
World Rhino Day – 22 September
Hindi Divas (हिंदी दिवस) – 14 September
7 best ways to say Thank You on Teachers' Day
Teachers Day – A day to celebrate teachers


"The City of the Light"
A European capital with approximately 550.000 inhabitants, Lisbon plays a crucial role not only in Portugal, but also in Europe due to its role as a gateway to the markets in the southern hemisphere. Significantly affected by the economic crisis and by demographic changes in previous decades, the city of Lisbon also faces various challenges closer to home. In this context, Lisbon defined the built environment in the historic center, the mobility system, the generation of clean energies and the use of information & communication technologies as key areas of activity for the upcoming years. In order to address the manifold challenges Lisbon is facing today and to achieve more sustainable urban development.
The city lab team Lisbon.
Lisbon applied for the City Lab Challenge in 2015 and the corresponding City Lab process, which aimed to identify the strengths and weaknesses of the city across several sectors, as well as key areas of intervention for smart and sustainable development. It was also intended to identify potential future opportunities, current barriers that need to be overcome and to demonstrate possible paths for a sustainable development of the city.
Lisbon presents the necessary preconditions to promote smarter urban development. However, the City Lab process highlighted a range of overarching issues that could not be addressed alone through interventions in specific sectors. Therefore, the key proposed solutions for Lisbon relate to overarching interventions that create a dialogue, encourage cooperation between key actors in different sectors, and set meta-level objectives. Part of this process is the reinforcement of the capacities of the municipal Sustainabilty Action Team to promote inter-sectoral cooperation, the establishment of a forum to create a dialogue between key actors in the city, and the integrated development of a clear set of goals to act as a "guiding star" for future city activities. These transversal interventions need to be complemented by specific projects "on the ground" in the different sectors.
The City Labs process has demonstrated that "smart" urbanism is not just about high-tech solutions, but also means striving for a more holistic understanding, as well as appreciating the complexity of urban systems. Innovative forms of intelligent collaboration, together with a clear vision and strategy, constitute the basis and, at the same time, the precondition for becoming a smart city.
For more information please read here the executive summary.


All Our Kin (AOK) began as a response to the consequences of the Personal Responsibility and Work Opportunity Reconciliation Act of 1996 on low-income families, especially single mothers of very young children who struggled to find both decent work and affordable, high-quality child care in their communities. All Our Kin's response to these negative outcomes for families was to invest in the community's women, giving them the resources, training, and support to open their own community-based child care programs. AOK began as a laboratory school, with a staff of two and an original group of six mothers and six children. Through the school, parents learned to be teachers while working with their own and each other's children. The school's graduates formed the foundation of the mighty AOK Network, which includes over 400 family child care providers who transform opportunities for as many as 2,400 children across Southern Connecticut today.
Our country's acute child care crisis means that many children, especially poor children, are not getting the high-quality early care and education that research tells us is crucial for success. Across the nation, child care supply falls far short of demand; our limited existing care is enormously expensive, with the average cost of child care representing over 20% of the annual median income; and worst of all, less than 50% of child care programs provide "good" quality care to children, and only 8% provide "excellent" care. In response, AOK trains the caregivers reaching our youngest, most vulnerable children: women in low-income communities who are committed to giving children high-quality early learning experiences.
Children's brains are literally built during the earliest years, 0-3, and just one healthy relationship with an adult, whether it be a parent or child care provider, can make all the difference in a child's life. Across the country, in many of our poorest neighborhoods, there are women who are committed to making this difference, to ensuring that children have high-quality early learning experiences in home-based settings. In fact, the majority of our youngest, most vulnerable children spend their days in these settings. However, despite these women's passion and dedication, their enormous potential to transform opportunities for children and families is largely ignored. As a result, many are under-resourced and under-equipped, and often unable to give children high-quality early learning experiences.
At AOK, we invest in these women - incredible community assets - giving them the resources, training, and support that they need to thrive as early childhood educators and create enriching child care programs that will serve children and families for years to come. The result is a proven triple win: child care providers build better lives for themselves and their own families; parents can succeed in the workforce, knowing their children are well cared for; and most important, children develop the skills and competencies needed for success in school and in life: independence, self-regulation, empathy, creativity, curiosity, and eagerness to learn.
Pam came to AOK a single mother with 4 children. In AOK's lab school, she received training in child development while caring for her youngest child. Upon graduating, Pam opened a family child care program, where she's served many children, including Andy. Andy came to Pam with developmental delays, and soon after arriving, he and his mother became homeless. Pam went above and beyond to ensure their safety and wellbeing, helping Andy's mother to find work and a shelter, changing her hours to accommodate Andy's mother's schedule, and making sure that Andy got high-quality care and education. Before long, Andy and his mother moved to an apartment, and Andy was meeting all developmental milestones, building a strong foundation for success.
AOK increases the supply of care. Though Connecticut lost nearly 35% of its family child care programs from 2000-2011, licensed family child care programs in New Haven increased by 74% in the same period, thanks to AOK. AOK increases the quality of care. AOK providers score, on average, over 50% higher on global measurements of quality than non-AOK providers, according to an external evaluation. AOK increases provider revenue and wellbeing. In a 2011 study of AOK's Licensing Program, UConn's Center for Economic Analysis found that nearly 60% of participants reported earning at least $5,000 more the first year after licensure; assessments of AOK's Circle of Security initiative indicate a 93% reduction in provider stress. AOK generates significant economic returns. According to UConn, for every $1 spent in the AOK Licensing Program, about $15-20 is returned to society in increased GRP.
AOK's model is primarily supported by private philanthropy. We know that, in order for this work to succeed in scale, we must increasingly engage with government and other stakeholders, building the public funding infrastructure for AOK and programs like ours. The support of the Ashoka/RWJF Children's Wellbeing Initiative would help us to get there, sending a powerful message about the value of investing in family child care.
The U.S. faces a child care crisis, particularly for our infants and toddlers, who are at a critical moment in life. In response, AOK has built an innovative model for investing in the caregivers who reach our youngest, most vulnerable children. Among a handful of organizations nationwide supporting quality in family child care, AOK's strong track record of success sets us apart. AOK providers score over 50% higher on research-based measures of quality than non-AOK providers; and, most importantly, AOK providers score highest in the areas that most influence children's learning outcomes.
Growing research on early brain development makes a strong case for supporting quality in early education. With this data and AOK's track record, we are changing the national dialogue on early childhood, highlighting the value of family child care. Though these caregivers play a critical role as educators of our youngest, most vulnerable children, they are devalued and ignored because they are low-income women of color. With your support, AOK will transform this narrative, ensuring that family child care providers, and the children and families they serve, have all they need to thrive.
AOK serves family child care providers at every stage of their development, raising the quality and sustainability of their child care programs. Through our Tool Kit Licensing Program, we help unlicensed caregivers fulfill state licensing requirements and join a professional community of child care providers. Through our Network, we offer educational mentorship, professional development, financial management and education training, and advocacy and leadership opportunities. Programs are delivered by AOK staff, who are master educators with strong backgrounds in adult and child development.
At the heart of AOK's mission is a commitment to equity in education. We embrace learning from our diverse group of providers and parents, and cultivate leadership in this group by offering opportunities to serve on our Board and Provider Steering Committee. Many former AOK participants have joined our staff and represent 10% of our team. AOK also works with many community partners, leveraging as many resources and opportunities as possible.
AOK seeks to transform opportunities for children and families across the country by: 1) shifting the national conversation around early care and education to recognize and support family child care; 2) building capacity to raise the quality of family child care in other communities by providing training in AOK's model and best practices; and 3) replicating AOK's high-touch, high-resource, high-impact model in communities throughout the country.
By working directly with family child care providers, the educators of our youngest, most vulnerable children, AOK reaches children at a critical point in life, when the brain is developing most rapidly. As a result, children spend their early years in safe, healthy, nurturing settings, where they gain high-quality early learning experiences that are developmentally appropriate, based in best practice, and lay the foundation for success.
In 1999, we set up a child care cooperative where parents on public assistance learned to be educators while working with their own and each other's children. Our lab school was a success: by 2008, we ran a family child care network, supporting graduates as educators and entrepreneurs. Meanwhile, changes in federal policy made it hard for parents to participate in our flagship program, the lab school. So we closed it. This enabled us to build a model program for transforming child care quality and sustainability, creating deep, lasting change for many more children and families.


Carved and painted wood, key, billiard ball.
Sculptural carved wooden ravens represent the scavenger or gatherer in my work, with each piece containing unique and interesting found objects from the past. In our spiritual history the raven has also long been viewed as a messenger between realities and the courier of change. The vintage keys are used to represent the opening of doors and the welcoming of positive change. By combining these elements and themes, each new creation is imbued with a rich and personal history.


text:
Gisele Spotted With New Man Following Brady Divorce
Supermodel Gisele Bündchen was spotted with a new man over the weekend for the first time since her divorce from Tampa Bay Buccaneers quarterback Tom Brady last month.
Page Six reports Bündchen was seen with jiu-jitsu instructor Joaquim Valente at Koji in Provincia de Puntarenas, Costa Rica, along with her children Benjamin and Vivian.
Bündchen had previously posed alongside Valente and his brothers Pedro and Giu during a shoot for Dust Magazine in 2021 and had shared a post calling the Valente brothers "Awesome teachers" while training in jiu-jitsu in February 2022.
Bündchen and Brady announced their divorce on October 28.
"With much gratitude for our time together, Tom and I have amicably finalized our divorce," Bündchen wrote at the time. "My priority has always been and will continue to be our children whom I love with all my heart. We will continue co-parenting to give them the love, care and attention they greatly deserve.
"The decision to end a marriage is never easy but we have grown apart and while it is, of course, difficult to go through something like this, I feel blessed for the time we had together and only wish the best for Tom always.
"I kindly ask that our privacy be respected during this sensitive time."
Brady and Bündchen reportedly had "an ironclad prenup" prior to their marriage, which led to their quick divorce settlement last week, sources with knowledge of the situation told Page Six, on November 2.
Brady, who turned 45 in August, announced his retirement, then un-retirement this offseason ahead of his 23rd NFL season.
Brady is the NFL's all-time passing leader for yards and touchdowns, as well as quarterback wins, among numerous other records.
The San Mateo native spent his first 20 seasons with the New England Patriots, leading the franchise to an NFL record six Super Bowl championships (tied with the Steelers), before joining the Buccaneers as a free agent in March 2020, which resulted in Tampa Bay winning its second Super Bowl in franchise history, becoming the first NFL team to win a Super Bowl in its home stadium, in February 2021.


text:
Lake George boat crash lawsuits settled
DON LEHMAN
The Post-Star
QUEENSBURY — Lawsuits filed against Alexander West, his parents and passengers who were on his boat during the 2016 fatal boat crash on Lake George have been settled for an undisclosed amount of money.
The lawsuits filed by Eric McCue, father of 8-year-old Charlotte McCue, who was killed by a crash caused by an impaired West, were settled in recent weeks for an amount described by the case's lead attorney as the "full insurance policy" that the West family had.
Lawyer E. Stewart Jones said he could not divulge the amount of money involved because of a confidentiality agreement.
"The whole insurance policy was paid," he said.
Boat insurance is not required to register a boat in New York, and it was unclear what insurance policy paid for the settlement.
West, his parents and three passengers on the boat were all named in the litigation, which was filed in stages in 2017. Two lawsuits that each sought $3 million were filed, one for wrongful death for Charlotte's death, the other for pain and suffering the family endured from the death as well as serious injuries that Charlotte's mother, Courtney McCue, suffered.
In addition to the Wests, passengers Matthew Marry, Kristine Tiger and Morland Keyes were also named as defendants, in light of their failure to cooperate with police after the crash. A fourth boat passenger who did cooperate and testified against West in his manslaughter trial, Cara Mia Canale, was not sued.
West was convicted of second-degree manslaughter and lesser charges and is serving a 5- to 15-year state prison sentence for driving his parents' boat under the influence of drugs and after drinking. He and his friends had been partying at an all-day party known as Log Bay Day before the collision.
He was found to have acted recklessly in driving his boat into the side of one driven by Charlotte's grandfather a short distance from the family's home on Cramer Point in Lake George.
It was unclear whether all of the defendants settled or some were dismissed as part of the settlement, as the court files in the case have been sealed. No judgments were listed against the Wests or any of the defendants at the Warren County Clerk's Office.
State Supreme Court Justice Martin Auffredou presided over the case.
The Wests were represented by Albany lawyer Edward Tobin, who did not return a phone call for comment Tuesday.
Jones said no settlement will fully compensate the McCues for what they went through.
"It was horrific," Jones said. "No amount of money will change what happened here."
Cohen takes another step at YOG


text:
using System.Collections.Immutable;
using System.Runtime.CompilerServices;

[assembly: TypeForwardedTo(typeof(ImmutableInterlocked))]

#else

// Copyright (c) Microsoft. All rights reserved.
// Licensed under the MIT license. See LICENSE file in the project root for full license information.

using System.Collections.Generic;
using System.Threading;
using Validation;

namespace System.Collections.Immutable
{
    /// <summary>
    /// Contains interlocked exchange mechanisms for immutable collections.
    /// </summary>
    public static class ImmutableInterlocked
    {
        /// <summary>
        /// Mutates a value in-place with optimistic locking transaction semantics
        /// via a specified transformation function.
        /// The transformation is retried as many times as necessary to win the optimistic locking race.
        /// </summary>
        /// <typeparam name="T">The type of data.</typeparam>
        /// <param name="location">
        /// The variable or field to be changed, which may be accessed by multiple threads.
        /// </param>
        /// <param name="transformer">
        /// A function that mutates the value. This function should be side-effect free,
        /// as it may run multiple times when races occur with other threads.</param>
        /// <returns>
        /// <c>true</c> if the location's value is changed by applying the result of the
        /// <paramref name="transformer"/> function;
        /// <c>false</c> if the location's value remained the same because the last
        /// invocation of <paramref name="transformer"/> returned the existing value.
        /// </returns>
        public static bool Update<T>(ref T location, Func<T, T> transformer) where T : class
        {
            Requires.NotNull(transformer, "transformer");

            bool successful;
            T oldValue = Volatile.Read(ref location);
            do
            {
                T newValue = transformer(oldValue);
                if (ReferenceEquals(oldValue, newValue))
                {
                    // No change was actually required.
                    return false;
                }

                T interlockedResult = Interlocked.CompareExchange(ref location, newValue, oldValue);
                successful = ReferenceEquals(oldValue, interlockedResult);
                oldValue = interlockedResult; // we already have a volatile read that we can reuse for the next loop
            }
            while (!successful);

            return true;
        }

        /// <summary>
        /// Mutates a value in-place with optimistic locking transaction semantics
        /// via a specified transformation function.
        /// The transformation is retried as many times as necessary to win the optimistic locking race.
        /// </summary>
        /// <typeparam name="T">The type of data.</typeparam>
        /// <typeparam name="TArg">The type of argument passed to the <paramref name="transformer"/>.</typeparam>
        /// <param name="location">
        /// The variable or field to be changed, which may be accessed by multiple threads.
        /// </param>
        /// <param name="transformer">
        /// A function that mutates the value. This function should be side-effect free,
        /// as it may run multiple times when races occur with other threads.</param>
        /// <param name="transformerArgument">The argument to pass to <paramref name="transformer"/>.</param>
        /// <returns>
        /// <c>true</c> if the location's value is changed by applying the result of the
        /// <paramref name="transformer"/> function;
        /// <c>false</c> if the location's value remained the same because the last
        /// invocation of <paramref name="transformer"/> returned the existing value.
        /// </returns>
        public static bool Update<T, TArg>(ref T location, Func<T, TArg, T> transformer, TArg transformerArgument) where T : class
        {
            Requires.NotNull(transformer, "transformer");

            bool successful;
            T oldValue = Volatile.Read(ref location);
            do
            {
                T newValue = transformer(oldValue, transformerArgument);
                if (ReferenceEquals(oldValue, newValue))
                {
                    // No change was actually required.
                    return false;
                }

                T interlockedResult = Interlocked.CompareExchange(ref location, newValue, oldValue);
                successful = ReferenceEquals(oldValue, interlockedResult);
                oldValue = interlockedResult; // we already have a volatile read that we can reuse for the next loop
            }
            while (!successful);

            return true;
        }

        #region ImmutableArray<T> members

        /// <summary>
        /// Assigns a field or variable containing an immutable array to the specified value and returns the previous value.
        /// </summary>
        /// <typeparam name="T">The type of element stored by the array.</typeparam>
        /// <param name="location">The field or local variable to change.</param>
        /// <param name="value">The new value to assign.</param>
        /// <returns>The prior value at the specified <paramref name="location"/>.</returns>
        public static ImmutableArray<T> InterlockedExchange<T>(ref ImmutableArray<T> location, ImmutableArray<T> value)
        {
            return new ImmutableArray<T>(Interlocked.Exchange(ref location.array, value.array));
        }

        /// <summary>
        /// Assigns a field or variable containing an immutable array to the specified value
        /// if it is currently equal to another specified value. Returns the previous value.
        /// </summary>
        /// <typeparam name="T">The type of element stored by the array.</typeparam>
        /// <param name="location">The field or local variable to change.</param>
        /// <param name="value">The new value to assign.</param>
        /// <param name="comparand">The value to check equality for before assigning.</param>
        /// <returns>The prior value at the specified <paramref name="location"/>.</returns>
        public static ImmutableArray<T> InterlockedCompareExchange<T>(ref ImmutableArray<T> location, ImmutableArray<T> value, ImmutableArray<T> comparand)
        {
            return new ImmutableArray<T>(Interlocked.CompareExchange(ref location.array, value.array, comparand.array));
        }

        /// <summary>
        /// Assigns a field or variable containing an immutable array to the specified value
        /// if it is has not yet been initialized.
        /// </summary>
        /// <typeparam name="T">The type of element stored by the array.</typeparam>
        /// <param name="location">The field or local variable to change.</param>
        /// <param name="value">The new value to assign.</param>
        /// <returns>True if the field was assigned the specified value; <c>false</c> if it was previously initialized.</returns>
        public static bool InterlockedInitialize<T>(ref ImmutableArray<T> location, ImmutableArray<T> value)
        {
            return InterlockedCompareExchange(ref location, value, default(ImmutableArray<T>)).IsDefault;
        }

        #endregion

        #region ImmutableDictionary<TKey, TValue> members

        /// <summary>
        /// Obtains the value for the specified key from a dictionary, or adds a new value to the dictionary where the key did not previously exist.
        /// </summary>
        /// <typeparam name="TKey">The type of key stored by the dictionary.</typeparam>
        /// <typeparam name="TValue">The type of value stored by the dictionary.</typeparam>
        /// <typeparam name="TArg">The type of argument supplied to the value factory.</typeparam>
        /// <param name="location">The variable or field to atomically update if the specified <paramref name="key"/> is not in the dictionary.</param>
        /// <param name="key">The key for the value to retrieve or add.</param>
        /// <param name="valueFactory">The function to execute to obtain the value to insert into the dictionary if the key is not found.</param>
        /// <param name="factoryArgument">The argument to pass to the value factory.</param>
        /// <returns>The value obtained from the dictionary or <paramref name="valueFactory"/> if it was not present.</returns>
        public static TValue GetOrAdd<TKey, TValue, TArg>(ref ImmutableDictionary<TKey, TValue> location, TKey key, Func<TKey, TArg, TValue> valueFactory, TArg factoryArgument)
        {
            Requires.NotNull(valueFactory, "valueFactory");

            var map = Volatile.Read(ref location);
            Requires.NotNull(map, "location");

            TValue value;
            if (map.TryGetValue(key, out value))
            {
                return value;
            }

            value = valueFactory(key, factoryArgument);
            return GetOrAdd(ref location, key, value);
        }

        /// <summary>
        /// Obtains the value for the specified key from a dictionary, or adds a new value to the dictionary where the key did not previously exist.
        /// </summary>
        /// <typeparam name="TKey">The type of key stored by the dictionary.</typeparam>
        /// <typeparam name="TValue">The type of value stored by the dictionary.</typeparam>
        /// <param name="location">The variable or field to atomically update if the specified <paramref name="key"/> is not in the dictionary.</param>
        /// <param name="key">The key for the value to retrieve or add.</param>
        /// <param name="valueFactory">
        /// The function to execute to obtain the value to insert into the dictionary if the key is not found.
        /// This delegate will not be invoked more than once.
        /// </param>
        /// <returns>The value obtained from the dictionary or <paramref name="valueFactory"/> if it was not present.</returns>
        public static TValue GetOrAdd<TKey, TValue>(ref ImmutableDictionary<TKey, TValue> location, TKey key, Func<TKey, TValue> valueFactory)
        {
            Requires.NotNull(valueFactory, "valueFactory");

            var map = Volatile.Read(ref location);
            Requires.NotNull(map, "location");

            TValue value;
            if (map.TryGetValue(key, out value))
            {
                return value;
            }

            value = valueFactory(key);
            return GetOrAdd(ref location, key, value);
        }

        /// <summary>
        /// Obtains the value for the specified key from a dictionary, or adds a new value to the dictionary where the key did not previously exist.
        /// </summary>
        /// <typeparam name="TKey">The type of key stored by the dictionary.</typeparam>
        /// <typeparam name="TValue">The type of value stored by the dictionary.</typeparam>
        /// <param name="location">The variable or field to atomically update if the specified <paramref name="key"/> is not in the dictionary.</param>
        /// <param name="key">The key for the value to retrieve or add.</param>
        /// <param name="value">The value to add to the dictionary if one is not already present.</param>
        /// <returns>The value obtained from the dictionary or <paramref name="value"/> if it was not present.</returns>
        public static TValue GetOrAdd<TKey, TValue>(ref ImmutableDictionary<TKey, TValue> location, TKey key, TValue value)
        {
            var priorCollection = Volatile.Read(ref location);
            bool successful;
            do
            {
                Requires.NotNull(priorCollection, "location");
                TValue oldValue;
                if (priorCollection.TryGetValue(key, out oldValue))
                {
                    return oldValue;
                }

                var updatedCollection = priorCollection.Add(key, value);
                var interlockedResult = Interlocked.CompareExchange(ref location, updatedCollection, priorCollection);
                successful = Object.ReferenceEquals(priorCollection, interlockedResult);
                priorCollection = interlockedResult; // we already have a volatile read that we can reuse for the next loop
            }
            while (!successful);

            // We won the race-condition and have updated the collection.
            // Return the value that is in the collection (as of the Interlocked operation).
            return value;
        }

        /// <summary>
        /// Obtains the value from a dictionary after having added it or updated an existing entry.
        /// </summary>
        /// <typeparam name="TKey">The type of key stored by the dictionary.</typeparam>
        /// <typeparam name="TValue">The type of value stored by the dictionary.</typeparam>
        /// <param name="location">The variable or field to atomically update if the specified <paramref name="key"/> is not in the dictionary.</param>
        /// <param name="key">The key for the value to add or update.</param>
        /// <param name="addValueFactory">The function that receives the key and returns a new value to add to the dictionary when no value previously exists.</param>
        /// <param name="updateValueFactory">The function that receives the key and prior value and returns the new value with which to update the dictionary.</param>
        /// <returns>The added or updated value.</returns>
        public static TValue AddOrUpdate<TKey, TValue>(ref ImmutableDictionary<TKey, TValue> location, TKey key, Func<TKey, TValue> addValueFactory, Func<TKey, TValue, TValue> updateValueFactory)
        {
            Requires.NotNull(addValueFactory, "addValueFactory");
            Requires.NotNull(updateValueFactory, "updateValueFactory");

            TValue newValue;
            var priorCollection = Volatile.Read(ref location);
            bool successful;
            do
            {
                Requires.NotNull(priorCollection, "location");

                TValue oldValue;
                if (priorCollection.TryGetValue(key, out oldValue))
                {
                    newValue = updateValueFactory(key, oldValue);
                }
                else
                {
                    newValue = addValueFactory(key);
                }

                var updatedCollection = priorCollection.SetItem(key, newValue);
                var interlockedResult = Interlocked.CompareExchange(ref location, updatedCollection, priorCollection);
                successful = Object.ReferenceEquals(priorCollection, interlockedResult);
                priorCollection = interlockedResult; // we already have a volatile read that we can reuse for the next loop
            }
            while (!successful);

            // We won the race-condition and have updated the collection.
            // Return the value that is in the collection (as of the Interlocked operation).
            return newValue;
        }

        /// <summary>
        /// Obtains the value from a dictionary after having added it or updated an existing entry.
        /// </summary>
        /// <typeparam name="TKey">The type of key stored by the dictionary.</typeparam>
        /// <typeparam name="TValue">The type of value stored by the dictionary.</typeparam>
        /// <param name="location">The variable or field to atomically update if the specified <paramref name="key"/> is not in the dictionary.</param>
        /// <param name="key">The key for the value to add or update.</param>
        /// <param name="addValue">The value to use if no previous value exists.</param>
        /// <param name="updateValueFactory">The function that receives the key and prior value and returns the new value with which to update the dictionary.</param>
        /// <returns>The added or updated value.</returns>
        public static TValue AddOrUpdate<TKey, TValue>(ref ImmutableDictionary<TKey, TValue> location, TKey key, TValue addValue, Func<TKey, TValue, TValue> updateValueFactory)
        {
            Requires.NotNull(updateValueFactory, "updateValueFactory");

            TValue newValue;
            var priorCollection = Volatile.Read(ref location);
            bool successful;
            do
            {
                Requires.NotNull(priorCollection, "location");

                TValue oldValue;
                if (priorCollection.TryGetValue(key, out oldValue))
                {
                    newValue = updateValueFactory(key, oldValue);
                }
                else
                {
                    newValue = addValue;
                }

                var updatedCollection = priorCollection.SetItem(key, newValue);
                var interlockedResult = Interlocked.CompareExchange(ref location, updatedCollection, priorCollection);
                successful = Object.ReferenceEquals(priorCollection, interlockedResult);
                priorCollection = interlockedResult; // we already have a volatile read that we can reuse for the next loop
            }
            while (!successful);

            // We won the race-condition and have updated the collection.
            // Return the value that is in the collection (as of the Interlocked operation).
            return newValue;
        }

        /// <summary>
        /// Adds the specified key and value to the dictionary if no colliding key already exists in the dictionary.
        /// </summary>
        /// <typeparam name="TKey">The type of key stored by the dictionary.</typeparam>
        /// <typeparam name="TValue">The type of value stored by the dictionary.</typeparam>
        /// <param name="location">The variable or field to atomically update if the specified <paramref name="key"/> is not in the dictionary.</param>
        /// <param name="key">The key to add, if is not already defined in the dictionary.</param>
        /// <param name="value">The value to add.</param>
        /// <returns><c>true</c> if the key was not previously set in the dictionary and the value was set; <c>false</c> otherwise.</returns>
        public static bool TryAdd<TKey, TValue>(ref ImmutableDictionary<TKey, TValue> location, TKey key, TValue value)
        {
            var priorCollection = Volatile.Read(ref location);
            bool successful;
            do
            {
                Requires.NotNull(priorCollection, "location");

                if (priorCollection.ContainsKey(key))
                {
                    return false;
                }

                var updatedCollection = priorCollection.Add(key, value);
                var interlockedResult = Interlocked.CompareExchange(ref location, updatedCollection, priorCollection);
                successful = Object.ReferenceEquals(priorCollection, interlockedResult);
                priorCollection = interlockedResult; // we already have a volatile read that we can reuse for the next loop
            } while (!successful);

            return true;
        }

        /// <summary>
        /// Sets the specified key to the given value if the key already is set to a specific value.
        /// </summary>
        /// <typeparam name="TKey">The type of key stored by the dictionary.</typeparam>
        /// <typeparam name="TValue">The type of value stored by the dictionary.</typeparam>
        /// <param name="location">The variable or field to atomically update if the specified <paramref name="key"/> is not in the dictionary.</param>
        /// <param name="key">The key to update.</param>
        /// <param name="newValue">The new value to set.</param>
        /// <param name="comparisonValue">The value that must already be set in the dictionary in order for the update to succeed.</param>
        /// <returns><c>true</c> if the key and comparison value were present in the dictionary and the update was made; <c>false</c> otherwise.</returns>
        public static bool TryUpdate<TKey, TValue>(ref ImmutableDictionary<TKey, TValue> location, TKey key, TValue newValue, TValue comparisonValue)
        {
            var valueComparer = EqualityComparer<TValue>.Default;
            var priorCollection = Volatile.Read(ref location);
            bool successful;
            do
            {
                Requires.NotNull(priorCollection, "location");

                TValue priorValue;
                if (!priorCollection.TryGetValue(key, out priorValue) || !valueComparer.Equals(priorValue, comparisonValue))
                {
                    // The key isn't in the dictionary, or its current value doesn't match what the caller expected.
                    return false;
                }

                var updatedCollection = priorCollection.SetItem(key, newValue);
                var interlockedResult = Interlocked.CompareExchange(ref location, updatedCollection, priorCollection);
                successful = Object.ReferenceEquals(priorCollection, interlockedResult);
                priorCollection = interlockedResult; // we already have a volatile read that we can reuse for the next loop
            } while (!successful);

            return true;
        }

        /// <summary>
        /// Removes an entry from the dictionary with the specified key if it is defined and returns its value.
        /// </summary>
        /// <typeparam name="TKey">The type of key stored by the dictionary.</typeparam>
        /// <typeparam name="TValue">The type of value stored by the dictionary.</typeparam>
        /// <param name="location">The variable or field to atomically update if the specified <paramref name="key"/> is not in the dictionary.</param>
        /// <param name="key">The key to remove.</param>
        /// <param name="value">Receives the value from the pre-existing entry, if one exists.</param>
        /// <returns><c>true</c> if the key was found and removed; <c>false</c> otherwise.</returns>
        public static bool TryRemove<TKey, TValue>(ref ImmutableDictionary<TKey, TValue> location, TKey key, out TValue value)
        {
            var priorCollection = Volatile.Read(ref location);
            bool successful;
            do
            {
                Requires.NotNull(priorCollection, "location");

                if (!priorCollection.TryGetValue(key, out value))
                {
                    return false;
                }

                var updatedCollection = priorCollection.Remove(key);
                var interlockedResult = Interlocked.CompareExchange(ref location, updatedCollection, priorCollection);
                successful = Object.ReferenceEquals(priorCollection, interlockedResult);
                priorCollection = interlockedResult; // we already have a volatile read that we can reuse for the next loop
            } while (!successful);

            return true;
        }

        #endregion

        #region ImmutableStack<T> members

        /// <summary>
        /// Pushes a new element onto a stack.
        /// </summary>
        /// <typeparam name="T">The type of elements stored in the stack.</typeparam>
        /// <param name="location">The variable or field to atomically update.</param>
        /// <param name="value">The value popped from the stack, if it was non-empty.</param>
        /// <returns><c>true</c> if an element was removed from the stack; <c>false</c> otherwise.</returns>
        public static bool TryPop<T>(ref ImmutableStack<T> location, out T value)
        {
            var priorCollection = Volatile.Read(ref location);
            bool successful;
            do
            {
                Requires.NotNull(priorCollection, "location");

                if (priorCollection.IsEmpty)
                {
                    value = default(T);
                    return false;
                }

                var updatedCollection = priorCollection.Pop(out value);
                var interlockedResult = Interlocked.CompareExchange(ref location, updatedCollection, priorCollection);
                successful = Object.ReferenceEquals(priorCollection, interlockedResult);
                priorCollection = interlockedResult; // we already have a volatile read that we can reuse for the next loop
            } while (!successful);

            return true;
        }

        /// <summary>
        /// Pushes a new element onto a stack.
        /// </summary>
        /// <typeparam name="T">The type of elements stored in the stack.</typeparam>
        /// <param name="location">The variable or field to atomically update.</param>
        /// <param name="value">The value to push.</param>
        public static void Push<T>(ref ImmutableStack<T> location, T value)
        {
            var priorCollection = Volatile.Read(ref location);
            bool successful;
            do
            {
                Requires.NotNull(priorCollection, "location");

                var updatedCollection = priorCollection.Push(value);
                var interlockedResult = Interlocked.CompareExchange(ref location, updatedCollection, priorCollection);
                successful = Object.ReferenceEquals(priorCollection, interlockedResult);
                priorCollection = interlockedResult; // we already have a volatile read that we can reuse for the next loop
            } while (!successful);
        }

        #endregion

        #region ImmutableQueue<T> members

        /// <summary>
        /// Atomically removes the element at the head of a queue and returns it to the caller, if the queue is not empty.
        /// </summary>
        /// <typeparam name="T">The type of element stored in the queue.</typeparam>
        /// <param name="location">The variable or field to atomically update.</param>
        /// <param name="value">Receives the value from the head of the queue, if the queue is non-empty.</param>
        /// <returns><c>true</c> if the queue was not empty and the head element was removed; <c>false</c> otherwise.</returns>
        public static bool TryDequeue<T>(ref ImmutableQueue<T> location, out T value)
        {
            var priorCollection = Volatile.Read(ref location);
            bool successful;
            do
            {
                Requires.NotNull(priorCollection, "location");

                if (priorCollection.IsEmpty)
                {
                    value = default(T);
                    return false;
                }

                var updatedCollection = priorCollection.Dequeue(out value);
                var interlockedResult = Interlocked.CompareExchange(ref location, updatedCollection, priorCollection);
                successful = Object.ReferenceEquals(priorCollection, interlockedResult);
                priorCollection = interlockedResult; // we already have a volatile read that we can reuse for the next loop
            } while (!successful);

            return true;
        }

        /// <summary>
        /// Atomically enqueues an element to the tail of a queue.
        /// </summary>
        /// <typeparam name="T">The type of element stored in the queue.</typeparam>
        /// <param name="location">The variable or field to atomically update.</param>
        /// <param name="value">The value to enqueue.</param>
        public static void Enqueue<T>(ref ImmutableQueue<T> location, T value)
        {
            var priorCollection = Volatile.Read(ref location);
            bool successful;
            do
            {
                Requires.NotNull(priorCollection, "location");

                var updatedCollection = priorCollection.Enqueue(value);
                var interlockedResult = Interlocked.CompareExchange(ref location, updatedCollection, priorCollection);
                successful = Object.ReferenceEquals(priorCollection, interlockedResult);
                priorCollection = interlockedResult; // we already have a volatile read that we can reuse for the next loop
            } while (!successful);
        }
        #endregion
    }
}

#endif

redpajama_set_name: RedPajamaGithub


Notes: Architectural approval required for all exterior repaint projects. Colors were crossed over to the nearest Dunn-Edwards color and may not be an exact match. Not intended for touch-ups, complete repaints only.


Who Do You Think Will Be The Nominees For President In The Next US Election?
Herman Cain (Mr. 9-9-9) against Pocahontas would be pay-per-view worthy.
Simon, I want to thank you so much for your work on keeping this forum going, we all appreciate it very much. However, as I understand it, you live in Canada? You have national health care, and now legal marijuana. I think voting democratic is the way to get those 2 things here in the good old USA.
Simon it is degrading to speak about the Chief like that! Take it back.
Trump for 2020 against Bernie, Trump wins. Then Ivanka and Chelsea 2024, and Bernie again,lol, Ivanka for the win 2024-2028, Jared would make such a good first lady lol. Then a fluke Dem candidate 2028-2032. Then D. Trump Jr. for 4 years. I actually think D.Trump jr is a great speaker.
Simon and RubaDub you both should be ashamed of yourselves using such degrading languge concerning Sen. Warren.
I can't speak for Simon, but personally I should not have referred to her as simply "Pocahontus."
In showing proper respect for her elected office, I should have correctly referred to her as "Senator Pocahontus."


ABHI has read with interest the European Commission's notice to stakeholders: Withdrawal of the United Kingdom and EU Rules in the Field of Industrial Products, issued on 10th January 2018. The document outlines the potential future of industrial products post-Brexit.
You can download ABHI's statement in response to the notice below.