text:
HEAVY METAL OVERLOAD
HMO Reviews – Index
Category Archives: Classic Rock
Classic Rock, Genre, Heavy Metal, Progressive Rock, Reviews, Song Reviews
Rush – Ghost Rider (Song Review)
January 11, 2020 Heavy Metal Overload	22 Comments
"Sunset on the road ahead"
Sad news today with the passing of Rush's Neil Peart. On Facebook and Twitter I posted the track Afterimage as a tribute. It sprung to mind due to its themes of grief and loss… and because 80s Rush rules! But let's have a song from another era here.
Ghost Rider is one of my favourite tunes of the band's later work. Written as Rush were returning to action following Peart's hiatus due to deaths in his family, it's one of their most moving and emotive songs. The Canadians take to the open road with a breezy, motoring groove and a shifting landscape of layered guitars. Peart's lyrics are searching and evocative and vocalist Geddy Lee responds with taste and feeling. But, as always, the engine driving the whole thing is Peart's classy and dynamic drum performance. R.I.P Neil.
HMO Rating: 5 Out Of 5
[Rush – Ghost Rider]
https://heavymetaloverload.files.wordpress.com/2020/01/03-ghost-rider.m4a
2002Anthem RecordsIn Memoriam
Album Reviews, Classic Rock, Genre, Hard Rock, Heavy Metal, NWOBHM, Reviews
Blitzkrieg – Buried Alive [Review]
December 17, 2019 Heavy Metal Overload	27 Comments
Blitzkrieg – Buried Alive [CD Reissue from Skol Records]
Blitzkrieg only managed to release one official 7″ single before splitting up in late 1981. Otherwise, they had some demos in circulation and a song Inferno on the Lead Weight compilation. Luckily for Blitzkrieg, their solitary release was impressive enough that Metallica ended up covering its eponymous B-side. This bestowed infamy and cult credibility to the defunct band and ensured their return in 1985.
But luck didn't really have much to do with it cause Blitzkrieg is superb. The unforgettable opening riff might have been purloined from the Focus classic Hocus Pocus but it doesn't matter because Blitzkrieg conjure up their own metal magic here. The mega-chunk guitars, deadly hooks ("let us have peace, let us have life") and a dynamic rifferama climax make this mandatory listening. And the less-famous A-side Buried Alive isn't too shabby either. Stark, driving metal with a piercingly catchy chorus. Just ignore the Bolanesque nonsense lyrics "the Leather Prince, turned to mince"… I can see why Metallica steered clear of that one.
HMO Rating: 4.5 Out Of 5
[Blitzkrieg – Blitzkrieg]
https://heavymetaloverload.files.wordpress.com/2019/12/02-blitzkrieg.mp3
1981Neat RecordsSinglesSkol Records
Classic Rock, Genre, Hard Rock, Reviews, Song Reviews
Be-Bop Deluxe – Sister Seagull (Song Review)
December 8, 2019 Heavy Metal Overload	17 Comments
"My soul has vanished, with the bird that flies so free"
They're not a metal band by any stretch of the imagination, but Sister Seagull is definitely one of Be-Bop Deluxe's more metal-friendly tunes. It's one of those watery psychedelic ballads that hard rock and metal bands used to do in the 70s and early 80s. Judas Priest, Scorpions, UFO, Angel Witch, Iron Maiden… they've all done them! But this is one of the best. Sister Seagull has a simple D5-E5 riff that is very metal and because metal fans are suckers for a guitar god, check out Bill Nelson's fluid and cascading pentatonic soloing. Loads of bands might have recorded songs like this, but few did it with the sheer class and expressive emotion of Sister Seagull.
[Be-Bop Deluxe – Sister Seagull]
https://heavymetaloverload.files.wordpress.com/2019/12/04-sister-seagull.m4a
Or, as an added bonus, check out this magnificently-trousered performance from the Old Grey Whistle Test.
1975Glam RockHarvest RecordsManfeels
Classic Rock, Genre, Hard Rock, Heavy Metal, Progressive Rock, Reviews, Song Reviews
Queensrÿche – Prophecy (Song Review)
November 24, 2019 Heavy Metal Overload	26 Comments
"Begotten are the fools who'll never know"
I was first introduced to Queensrÿche's Prophecy via the live version on the Building Empires VHS, before acquiring the studio version as the bonus track on the CD reissue of the band's 1983 debut EP. Nowadays you'll find it as a bonus track on the reissue of 1984's The Warning because it was written during that era but I've since discovered it wasn't actually recorded until the sessions for their 1986 album Rage For Order! Bloody hell. But it doesn't really matter because this song holds it own anywhere. It's got the classy Rage For Order production sheen but its traditional melodic metal style fits in nicely on The Warning and the EP. Some extremely bouncy riffing, catchy hooks, nice vocal harmonies and some nifty and memorable guitar soloing from Chris DeGarmo and Michael Wilton make Prophecy a standout favourite… wherever you hear it.
[Queensrÿche – Prophecy]
https://heavymetaloverload.files.wordpress.com/2019/11/10-prophecy.m4a
1986bonus tracksEMIProgressive Metal
Album Reviews, Classic Rock, Genre, Hard Rock, Heavy Metal, Reviews
KISS – Psycho Circus (Review)
KISS – Psycho Circus (1998)
Basking in the incredible success of their 1996 reunion tour, the four original members of KISS headed back into the studio to pick up where they left off: completely unable to work together. In fact, the entire band only appear together twice on 1998's so-called reunion album Psycho Circus. The whole band performs Ace Frehley's Into The Void (which, surprise surprise, is the only track here that sounds anything like classic KISS) and they all sing together on the fairly average You Wanted The Best. In truth, however, this is the Paul n' Gene show. Which would be fine if the album was actually any good, but it's a muddled, mediocre effort. Stanley exerts a bit of quality control with the anthemic, stomping title track and Gene offers up the suprisingly good closer Journey Of 1,000 Years but both performers have seen better days. Within is terrible alterna-metal, Finally Found My Way is a limp and dated ballad and the album is loaded with empty and charmless statements of unity. Doing a greatest hits nostalgia trek is one thing, moving forward as a creative unit is another entirely. KISS would have been better settling for the nostalgia because Psycho Circus left the inimitable rock legends looking like nothing but a bunch of clowns.
[KISS – Within]
https://heavymetaloverload.files.wordpress.com/2019/11/02-within.m4a
Another attempt at photographing the pesky 3D cover
1998Mercury Records
Classic Rock, Genre, Hard Rock, Heavy Metal, Reviews, Song Reviews
Witch Cross – Face Of A Clown (Song Review)
November 5, 2019 Heavy Metal Overload	18 Comments
"You're begging for mercy tonight"
There's a killer on the loose in this highlight from Witch Cross' 1984 debut album Fit For Fight. And a clown-faced one at that. The worst kind. Although this Danish band were geographically excluded from the movement, this track definitely has some raw New Wave Of British Heavy Metal magic to it. Funereal keyboards set the creepy tone before the predatory riffing kicks in. Brilliant Rhoads-esque guitar work here and the appropriately-named vocalist Alex Savage delivers the song's deadly hooks with soaring ease. Highly recommended for fans of early Maiden, Riot and Witch Cross' fellow countrymen Mercyful Fate. It's jester killer.
1984Hells HeadbangersHigh Roller RecordsRoadrunner Records
Gamma Ray – Lust For Life (Song Review)
September 5, 2019 Heavy Metal Overload	19 Comments
"Let us fly away, let us praise the days"
The joyous glory of the middle eight. Is there anything better? I'm talking about the section, usually 8-bars in length and two thirds of the way into the song, that introduces a new element and adds a new layer of feeling and meaning. One famous example would be the "looks like nothing's gonna change" vocal part in (Sitting On) The Dock Of The Bay.
Metal artists will often use guitar solos, rifferamas and mosh-friendly breakdowns to get that variety and shifting intensity into their songs and we all know our favourite examples of those. But what about the classic vocal middle eights in metal? Here's a great one: Gamma Ray's Lust For Life. Taken from their debut album Heading For Tomorrow, it's a definitive power metal track with all the happy hallmarks of the genre. It's already intense stuff but, following a superb and sprawling guitar solo, vocalist Ralf Scheepers whooooaas into a middle eight that takes the track into a transcendent area of giant awesomeness. It's the best part of the song and it just wouldn't be the same without it. Maybe it's that uplifting or transcendent feeling that isn't always a great fit for metal songs, especially as you get into the more extreme echelons. But on a track called Lust For Life it's just what the doctor ordered.
I'm instantly thinking of other great ones (like the "take my hand" section in Maiden's Heaven Can Wait) but what are your favourites? Let me know in the comments.
[Gamma Ray – Lust For Life]
https://heavymetaloverload.files.wordpress.com/2019/09/1-02-lust-for-life.mp3
1990HelloweenKai HansenNoise RecordsPower MetalSong Structure
Sodom – In The Sign Of Evil (Review)
The HMOverlord on Facebook!
Twitter Overload
Not listened to this in yeeears. In the mood for something sumptuous... this fits the bill. #progressiverock… twitter.com/i/web/status/1… 21 hours ago
Uh-oh... outbreak of evil over at HMO today! It's Sodom and their infernal, influential debut EP 'In The Sign Of Ev… twitter.com/i/web/status/1… 2 days ago
#nowplaying Pentangle - Basket Of Light. From their superb albums boxset. #folkrock #bertjansch #folkcds #boxsets https://t.co/A5eLGXGmzB 1 week ago
#nowplaying Nazareth - BBC Rock Hour: Live At Hammersmith Odeon 1980. Stonking live album. Featuring the short-live… twitter.com/i/web/status/1… 1 week ago
80s Rush rules! But, of the later stuff, my favourite album is 2002's 'Vapor Trails' and I've picked one of my favo… twitter.com/i/web/status/1… 1 week ago
Terrible news about Neil Peart's passing. Hugely talented musician and writer. Can't add anything to the many trib… twitter.com/i/web/status/1… 1 week ago
Follow @HMOverload
Whit's the Chat?
J. on Sodom – In The Sign Of E…
Heavy Metal Overload on Sodom – In The Sign Of E…
stephen1001 on Sodom – In The Sign Of E…
Boaby
Debut Albums
End of Year list
Manfeels
Noise Records
One of your five a day
SPV Steamhammer
Stirrings
The Boneyard Position
The World's Greatest Guitarist
… and classic rock too!
Search HMO
Categories Select Category Genre Black Metal Classic Rock Death Metal Doom Metal Hard Rock Heavy Metal NWOBHM Progressive Rock Thrash Metal Lists Reviews Album Reviews Mini-Reviews Song Reviews Series Saxon
Archives Select Month January 2020 (2) December 2019 (2) November 2019 (3) October 2019 (1) September 2019 (1) August 2019 (3) July 2019 (5) June 2019 (2) May 2019 (2) April 2019 (4) March 2019 (3) February 2019 (4) January 2019 (3) November 2018 (1) October 2018 (1) September 2018 (1) August 2018 (3) July 2018 (2) June 2018 (3) May 2018 (2) April 2018 (2) March 2018 (3) February 2018 (2) January 2018 (2) December 2017 (1) November 2017 (1) October 2017 (2) September 2017 (1) August 2017 (4) July 2017 (4) June 2017 (3) May 2017 (5) April 2017 (2) March 2017 (4) February 2017 (3) January 2017 (5) December 2016 (4) November 2016 (1) October 2016 (1) September 2016 (3) August 2016 (3) July 2016 (3) June 2016 (2) May 2016 (1) April 2016 (1) March 2016 (2) February 2016 (3) January 2016 (2) December 2015 (1) November 2015 (2) October 2015 (3) August 2015 (2) July 2015 (2) June 2015 (1) May 2015 (2) April 2015 (1) March 2015 (2) February 2015 (1) January 2015 (2) December 2014 (2) November 2014 (2) October 2014 (2) July 2014 (3) June 2014 (1) January 2014 (1) November 2013 (1) October 2013 (1) September 2013 (2) August 2013 (2) July 2013 (2) May 2013 (1) March 2013 (1) February 2013 (1) October 2012 (2) September 2012 (2) August 2012 (1)
Follow HMO
Enter your email address to follow the HMOverlord and receive notifications of new, mighty posts by email.
Translate HMO!


Four posts in One today that are all being connected with each other … I start with studio mhl … after graduating from the design Academy in Eindhoven and the Gerrit Rietveld Academy in Amsterdam, Monique van Bruggen started her own jewellery label in 2004 called mhl. Together with fellow jewellery designer Bonne van der Ree she shares a studio/showroom in Amsterdam called Studio Bonbon.
and while reading Monique's beautiful blog I discovered another talent and from Monique … namely designing her boy friends website 'eb ontwerp' …and this is how I found the cool furniture designs by him, Erik Bakker.
And this is the fourth part of my post today for you … Zilu a new Dutch online webshop founded by Ghazaleh Dabiran and her husband. Zilu is a place where you can buy beautiful handmade products made with care and from very high quality. Some of the designers at Zilu will be very familiar for you but some of you, like studio mhl will probably be a nice addition to your wishlist!
posters by Studio Violet and Sandra Monat available at Zilu.
I adore the Spool series by Mara Skujeniece I enjoy seeing object d'art that make you have to look twice. Very nice.
Agree with Ren on the Spool Series. I also love those porcelain carvings made with the use of solid foam models. That's serious artistry right there.
I LoVe that blue chair! It just pops out at you.
I love that old school desk on one of the pics!
The drawing of a cat on a bottom photos is so cute!
The furniture collection is just fantastic, lovely styling, lovely colours – made my afternoon!
How cool! Happy Valentine's Day from Canada!
I'm astonished to recognise how much of information I gained on this matter. I m so really thankful of you. One thing I can claim that, after studying this article I became stored from the whole ineffective search I ought to have conducted on this kind of matter.
just go around, but surprised by your blogs, the information is so interesting,I deeply attract by it.


text:
Water Shortages Could Dry Up Shale Gas Craze
Environmentalists won't stop the shale gas craze. Neither will federal regulators. But a lack of water could possibly do so. And that is why drillers are looking for new ways to find water supplies --- or fresh water supplies would be jeopardized as a result of fossil fuel development.
During the exploration of shale gas, a concoction of sand, water and chemicals is pumped into the ground. Some of the dirty water returns and it must either be treated or re-injected underground, which at least in the northeastern United States involves trucking such tainted water to different locales --- something that then upsets the green movement. Treating --- or recycling --- the "fracking water," by contrast, optimizes a scarce resource while potentially mitigating any ecological ramifications, albeit at potentially higher costs.
"No question: Recycling is the way that the industry is moving," says Bill Charneski, chief operating officer of OriginOil, in a telephone interview. "It makes economic and environmental sense to do so. "There's not a technical hurdle and there's not an economic hurdle. But there is an investment that is required in new equipment, which has a payback that would occur in less than two years."
Across the United States, Charneski says that roughly 10 percent of the water used in the drilling process --- called hydraulic fracturing, or fracking --- is recycled. What's not recycled is disposed of, or re-injected underground. Nationally, Downstream Strategies says that in 2006 there were 35,000 wells that had been fractured that had required as much as 140 billion gallons per year of water --- a number that has climbed.
Where do the savings come from? It's mostly from not having to buy fresh water supplies at 50 cents a barrel and from not having to cart off the dirty supplies, which can often amount to $14 per barrel. Comparatively, the executive says that it cost between $1 and $4 to treat the fracking water, which surfaces from the ground with oil particles, clays and heavy metals. The treatment process separates those solids, allowing the water to be re-used.
The math: Depending on the job, the equipment may cost about $2 million. But it would save roughly $300,000 a month, giving the investment around an 18-month payback, adds Riggs Eckelberry, chief executive of OriginOil, during the same call. He adds that his company's equipment can treat three barrels per minutes, which can be scaled to 10 barrels a minute.
If producers would use treated water, then that is comprised of "flow back" that returns after a job is done as well as from water that naturally returns from the reservoir, often called brine or wastewater. On average, about 4 million gallons of water are used to do a fracking job, says Eckelberry. More than enough water is returned to continue drilling more sites, he adds --- if the water is treated. If not, shortages might occur.
Thousands of drilling sites are consuming billions of gallons of water. At this pace, shale producers are encroaching on the needs of not just other water-intensive fuel sources but also on farmers who use it to irrigate their crops.
Consider the Marcellus Shale region and specifically Pennsylvania and West Virginia: A Downstream Strategies and San Jose State University examination has concluded that 4.1 million to 5.6 million gallons of fresh water is used per fractured well, where between the two states, 9,000 wells have been permitted. In West Virginia, for example, surface waters supply most of the need, although only 8 percent is recycled. In Pennsylvania, roughly a third of the water is re-used with Chesapeake Energy recycling nearly all of its water in parts of that state.
"While a considerable amount of flow back fluid is now being reused and recycled, the data suggest that it still displaces only a small percentage of freshwater withdrawals, which will limit its benefits except in times of drought where small percentages could be important," says Downstream and San Jose State. "While West Virginia and Pennsylvania are generally water-rich states, these findings indicate that horizontal drilling and hydraulic fracturing operations could have significant impacts on water resources in more arid areas of the country."
To be clear, the treated or recycled water is not potable. But it has proven to be an adept source when it comes to loosening the shale gas from the rocks where it is embedded, a mile beneath the earth's surface. Given that the role of shale gas is expected to continue expanding, the economic possibilities are attracting the biggest oil and gas service companies that include Halliburton Corp. and Schlumberger, and even General Electric.
"If there was not an additional cost, everyone would prefer to use new fresh water to frack," says Charneski, with OriginOil. "But there is an economic and environmental cost of doing so. Treated water has proven to be just as effective in many cases."
The discovery of shale gas may be infusing the country with new energy --- literally speaking --- but it may also be tapping into a national sore spot, which is limited water supplies that are also demanded by other energy sources and by American farmers. It's a reality that could dull the industry's future unless, of course, the recycling process reaches scale and is thus able to penetrate a greater share of the fracking market.

redpajama_set_name: RedPajamaCommonCrawl


336 Harpswell Islands Road is a $350,000, 2,392 square foot, 4 bedroom, 3.0 bath home on a 4.00 acre lot located in Harpswell, ME.
Situated well off of the road on beautifully landscaped lawn, woods, and mature gardens is this well-maintained 4-bedroom Colonial with 2,392 square feet of living space. Front-to-back light and bright living room with wood-burning fireplace, a large open kitchen/family room, and formal dining room (or office) complete the first floor. Deck overlooking the backyard and woods. Separate master suite with large closets and a walk-in shower. Ample storage space throughout, including a cedar closet on the second floor. System 2000 boiler and attached 2-car garage with direct access to living space and basement. Easy commute to Brunswick, Bath, and highway. Seller to offer buyer a $5,000 credit at closing for floor and wall updates!
I am interested in 336 Harpswell Islands Road, Harpswell, ME 04079.


Put the Spring Back into Your Step…. New Season, New Wardrobe, New You.
We are all in need of some new sartorial flesh to sink our teeth into, well the wait is over! New spring /summer collections are arriving in store as we speak. Hooray!
Spring is in the air with Seasalt and Adini offering a kaleidoscope of cool blues and punchy yellows in both dreamy floral and bold abstract prints, a style to suit all.
The Seasalt collection is awash with vibrant prints in a botanical theme, in soft bamboo and cotton jersey.
The Chapel Cliff dress (above) an A-line swing dress has plenty of movement and drape. It's all over leaf print and fresh blue tones make it an easy breezy dress to add to your new spring wardrobe.
The teal and mustard Dew Drop top in a simple but effective daisy all over print has a gentle A-line shape giving it a soft fluid movement helped by the soft cotton viscose twill fabric. With a curved neck yolk detail this versatile top has long sleeves with extra deep cuffs for a quirky touch but can be turned back depending on your style.
If all over prints are aren't your thing, then you can still embrace the fresh colour palette and bold patterns by adding one of Seasalt's scenic scarves to your wardrobe. A wearable piece of artwork, inspired by Cornish landscapes and wildlife, keeping the brands sea fairing heritage central to its design.
Both these Adini dresses (below) are perfect wardrobe staples, their graphic prints create a bold look whilst 100% cotton ensures a comfortable and easy wear. What's not to love?
For all those eagerly anticipating the new collection from Masai we have a little teaser of what's to come… They have delivered on both flattering silhouettes, cut to suit all shapes and sizes, and quirky prints with hints of the unexpected.
Our favourite so far is this stylish two piece (left) the Ibby shirt and Perinius trouser. The all over monochrome print is catapulted to the next level with a flash of brilliant red in a striking border print. The Ibby shirt can be either worn buttoned up for high impact or a softer silhouette, worn as an open jacket with a white camisole underneath for an effortlessly chic look. Either way a striking outfit that screams confidence.
If a two piece trouser combo isn't your thing then the Gabrielis tunic (right) offers a stylish alternative. The gathered detail at the waist gives added interested to this classic silhouette.
We hope to see you in store soon to check out our latest ranges, to be continued…..


text:
The Ray Charles Tribute Orchestra
Hear the hits of soul music pioneer Ray Charles performed at Calgary's legendary live music venue.
About The Ray Charles Tribute Orchestra:
Paying homage to one of the greatest musicians of all time, the Ray Charles Tribute Orchestra is a 9-piece ensemble performing the hits penned by the legend himself.
Formed by Musical Director John Gray, bassist and a leader on the Calgary jazz scene who toured with the Ray Charles Orchestra, an ensemble of the city's finest musicians recreate the one-of-a-kind sound of Ray Charles and perform such hits as "Georgia On My Mind," "MaryAnne," "Hit the Road Jack" and "Let the Good Times Roll," among them.
Featuring Grammy Award-winner Donald RAY Johnson on vocals, the group includes a solid rhythm section, a killer horn section and two backup singers known as the "Donald Raylettes."
The Ray Charles Tribute Orchestra is quickly becoming well-known to Alberta audiences and is a popular choice for concerts, conventions, weddings and corporate performances. Their tight sound, danceable rhythms and extensive repertoire have captured audiences whose tastes run from jazz to blues, country to soul and funk to gospel.
Price: $30 advanced tickets, $35 at the door.


With Quality Driven Software's WordPress plugin, your service business can embed reviews directly onto your website by utilizing our proactive review generation software. Follow these steps to activate our WordPress plugin.
Best software. Getting feedback from our clients is incredibly helpful to build our business. I love the constant improvements that QDS makes, the excellent communication and how quickly Martha, Maria and Vlad respond to any and all concerns. Thank you for this software.


Rosetta Translation provides a full range of German translation services to companies in London and worldwide.
We also provide German interpreting services worldwide.
As one of very few translation agencies, Rosetta has achieved both the prestigious ISO 9001:2008 certification and the DIN EN 15038 norm, the only norm specifically for translation agencies. Our customers can therefore rest completely assured that the quality of our German translations is consistently high.
Whatever the exact nature or purpose of your German-English translation assignment, Rosetta Translation always has experienced translators on hand to deliver, with expertise in a number of areas, from financial documents to contracts.
In order to ensure the required quality of our German to English translations, we only use native English translators with relevant qualifications.


The main goal of the seminar is to provide an integrated multidisciplinary approach to the analysis of food consumption and consumer behavior. It aims to encourage broad discussion among economists, sociologists, psychologists, anthropologists and marketing scholars on the role of food consumption in the late modern society and on the need to adopt innovative tools for the analysis of consumer's behavior and choices.
For more information on the seminar, please visit the main page at http://www.143eaae-aaea-seminar.org/.
The deadline to submit a proposal was October 31, 2014. For further information, please visit the seminar's website at http://www.143eaae-aaea-seminar.org/ .
A selection of the best seminar papers will be considered, after an external double blind review process, for publication in a special issue of the British Food Journal, the Journal of Economic Psychology; in a special section of the International Journal of Food and Agribusiness Marketing and Psicologia della Salute. A special issue or section is also scheduled in Appetite.


Langdon resident Corrie Carrobourg, second from left, holds up the provincial Recreation Volunteer Recognition Award he recently received at a conference in Lake Louise.
The night was perfect, according to one of Langdon's busiest volunteers, except for one thing — a big thing.
Corrie Carrobourg went to the Chateau Lake Louise with his family to accept a Recreation Volunteer Recognition Award at a ceremony Oct. 28, and it was a grand ceremony. Very grand for Carrobourg, who was called on stage to accept the honour.
Regardless of the big crowd, Carrobourg is humbled to get the honour, which was signed by the Honourable Ricardo Miranda, Minister of Culture and Tourism while in attendance at the conference ceremony was lieutenant-governor Lois Mitchell.
What this means is that his peers in Langdon nominated him as someone who devotes countless hours of his time trying to improve his community, and his dedication isn't going unnoticed.
"This is fantastic. It's totally something that wasn't expected in any way shape or form," Carrobourg said. "There were a few people who stepped up and submitted me for it. I have to compliment them for taking the time and energy to even do that.
Carrobourg is a member of the North Bow Recreation District Board and the North Bow Community Facility Board as both director and president for almost 15 years. He's a founding member of the Langdon Recreation Centre Committee, as well as helping orchestrate the annual Langdon Father's Day Run.
Along with participating as a volunteer coach and manager for his childrens' sports teams, he's part of the Langdon Volunteer Fire Department as well.
The main focus of his effort is working on the Langdon Community Campus, which is in Phase 1 of development on the south side of the hamlet. Eventually that land will have quad ball diamonds, a recreation facility and a high school.
After years of planning and development, Carrobourg feels quite a bit of satisfaction in seeing the work translate into something you can see progressing.
"It was nice that we saw some heavy equipment move onto the site," Carrobourg said. "The snow started the next day but at least he gear is there. That's a good sign.
"It's something we waited a long time to see happen. I have to compliment the school board and the county because they have stepped up with some fairly significant numbers in terms of financing to start that process.
"We as a community group just hope we can continue to bring the community together and recognize there is a huge opportunity in particular with the quad baseball diamond to have that come to reality. We're doing a lot of major fundraising right now and are working with some major corporations to get some sponsorship dollars to make that part of it happen.
Along with all he does in the community, Carrobourg is a father of three who runs D.O.C. Personal Training centre, which just celebrated a year in business at the current location.
For years Carrobourg lived in Langdon and commuted to downtown Calgary for his job as a personal trainer. He's saving much more time now that he stays at home to work.
"I love the commute," Carrobourg said. "It's a nice drive living in Langdon and driving just to centre street. The old commute to downtown Calgary was getting old.


text:
The Ticker
FILE - This combination of Associated Press file photos shows, left, a sign outside the Comcast Center in Philadelphia in July 2010 and right, the entrance to the Universal Studios theme park in Los Angeles, on Dec. 3, 2009. Comcast said on Tuesday, Feb. 12, 2013, that it's buying General Electric's 49 percent stake in NBCUniversal joint venture for $16.7 billion. Comcast Corp. had bought a majority stake in the television and movie company in 2011. It had planned to take a larger stake in it over time. (AP Photo)
By Wire Reports |
PUBLISHED: February 13, 2013 at 12:00 a.m. | UPDATED: November 17, 2018 at 12:00 a.m.
Comcast swallows NBC
Comcast said it's buying General Electric's 49 percent stake in the NBC Universal joint venture for $16.7 billion several years early, as the company takes advantage of low borrowing costs and what CEO Brian Roberts called a "very attractive price."
The company is also buying from GE such assets as NBC's headquarters at 30 Rockefeller Plaza in New York and CNBC's headquarters in Englewood Cliffs, N.J., for about $1.4 billion.
Comcast had bought a majority stake in the television and movie company in 2011.
Back Bay Hotel goes for $84M
Loews Hotels & Resorts completed the purchase of the 225-room Back Bay Hotel from the Doyle Collection.
The historic 350 Stuart St. property — a former Boston police headquarters built in the 1920s — changed hands for $84.4 million, according to state real estate records.
An $8 million renovation is set to begin this fall.
Intel sets up box for TV viewing
Intel Corp. said it will sell a set-top box that brings Internet-delivered movies and shows to a TV set this year.
Erik Huggers, general manager of Intel Media, said the goal is to provide quality rather than undercutting cable pricing.
Zipcar sale clears antitrust hurdle
Avis Budget Group said its pending $500 million acquisition of Cambridge-based car-sharing network Zipcar has received U.S. antitrust clearance.
Watertown biotech files for $86M IPO
Tetraphase Pharmaceuticals, a Watertown-based developer of antibiotics for drug-resistant infections, has filed for an initial public offering worth up to?$86 million.
Akamai Technologies CEO Tom Leighton and Kraft Group Chairman Robert Kraft speak at startup accelerator MassChallenge's kick-off event at One Marina Park Drive in South Boston.
Boston commercial real estate firm Cassady Turley hired Rebecca Galeota, left, as its newest senior vice president. She previously served as a senior director at Cushman & Wakefield, where she worked as a broker in Boston's downtown market.
Wire Reports
COVID-19 program delivers 1 billion doses to poorer countries
Dangerously thin Mystic River ice stops Weymouth man as he flees Arlington Police
Boston-area coronavirus wastewater data keeps dropping: 'I'm cautiously optimistic'


text:
Katrin Meinke (née le  à Wismar) est une coureuse cycliste sur piste allemande. Elle a été médaillée de bronze de la vitesse lors des championnats du monde de 2000 et de 2002, et du 500m en 2001.

Palmarès

Championnats du monde
 Manchester 2000
  Médaillée de bronze de la vitesse

 Anvers 2001
  Médaillée de bronze du 500m

 Copenhague 2002
  Médaillée de bronze de la vitesse

Championnats du monde juniors
 1997
  Championne du monde junior de vitesse

Coupe du monde
 2002 :
  du keirin à Monterrey
  du 500m à Monterrey

 2003 :
  de la vitesse par équipes au Cap (avec Kathrin Freitag, Susan Panzer)
  du keirin au Cap
  de la vitesse au Cap
  du 500m à Moscou
  de la vitesse à Moscou
  de la vitesse par équipes à Moscou

 2004 :
  de la vitesse par équipes à Manchester (avec Susan Panzer)
  de la vitesse par équipes à Sydney (avec Kathrin Freitag)
  du keirin à Moscou
  du keirin à Sydney

Championnats d'Europe
 Championne d'Europe espoir du 500m en 2001

Championnats d'Allemagne
 Championne d'Allemagne du 500m en 2001, 2002 et 2003
 Championne d'Allemagne de la vitesse en 1999 et 2003

Liens externes

Coureuse cycliste allemande
Coureuse cycliste sur piste
Coureuse cycliste aux Jeux olympiques d'été de 2004
Naissance en septembre 1979
Naissance en République démocratique allemande
Naissance à Wismar

redpajama_set_name: RedPajamaWikipedia


Discussion in 'Pay Per Click Advertising' started by megafiles, Jan 8, 2018.
plz share networks that provide direct link for sending traffic.
Is it allowed to send paid traffic from other Ads-networks directly to your direct link?
If yes I'm interested in joining as "Publisher-Mediabuyer".
If you are thinking about using Adsterra, the minimum requirement for approval is now apparently 10,000 visitors a day.


procure the best value for money office equipment that can be found at a certain point in time.
In order to meet clients' requirements, we developed a cost-effective, paperless alternative to the traditional procurement and ordering methods by delivering an easy-to-use software ordering system tailored to our client specific needs.
We seamlessly ensured the integration with financial and procurement data creating a one-stop-shop for office supply orders.


text:
Home » sport » Australia host SA with 'sandpaper-gate' wound yet to heal
Australia host SA with 'sandpaper-gate' wound yet to heal
12/16/2022 Comments Off on Australia host SA with 'sandpaper-gate' wound yet to heal
The ghosts of Newlands still haunt Australia as the hosts prepare for their first Test series against South Africa nearly five years after the ball-tampering scandal rocked the cricket world.
Australian cricket has tried desperately to move on from the 2018 furore, pointing to new management and time served by the three players found culpable.
Yet questions as to what exactly happened at Newlands — before, during and after — have refused to fade away. Instead, they have come roaring back in recent weeks with the Proteas' arrival and David Warner's frustrations at the permanent leadership ban that still tethers him to 'Sandpaper-gate'.
Between Cameron Bancroft being caught with a piece of sandpaper in the field and former captain Steve Smith weeping bitterly upon his return home in disgrace, much of Newlands remains a mystery.
Acting as judge, jury and executioner, it took only a few days for Cricket Australia (CA) to collect evidence, find guilt and issue heavy sanctions on Bancroft, Smith and Warner, while absolving their team mates and staff of blame.
The report into the investigation has not been made publicly available, with CA citing confidentiality, and the information vacuum has been filled by speculation and innuendo as the years rolled on.
Bancroft said in an interview with The Guardian last year that it was "self-explanatory" Australia's bowlers knew of the tampering, drawing a firm denial from them.
Smith initially said it had been a "leadership group" decision to tamper with the ball but ultimately changed his story, saying he had no part in its planning and his fault lay in his failure to prevent it.
Adjudged to have played the leading role in the affair, Warner has kept his counsel but remains embittered by the leadership ban.
Two Australia players at Newlands, Usman Khawaja and former Test batsman Shaun Marsh, confirmed this week they were not interviewed by CA's integrity unit in 2018, raising more questions about the probe.
The Australian team lining up at the Gabba on Saturday will likely feature six players from the 11 at Cape Town, including Smith, Warner and captain Pat Cummins.
Under former skipper Tim Paine, Australia ditched the ugly combativeness they once brought to the field and have risen to the top of world Test rankings in good spirit under Cummins.
"Time heals all wounds," opener Khawaja told reporters in Brisbane on Thursday.
"We are a very different Australian cricket team from what we were back then."
South Africa have also changed, with plenty of fresh faces under captain Dean Elgar, but they remain Australia's nemesis and will bid for a fourth consecutive series win on Australian soil.
While the teams insist there is no bad blood from Newlands, each have a record of getting under the other's skin.
There is also plenty at stake, with the teams occupying the top two rungs of the World Test Championship.
Elgar tipped a feisty series before landing in Australia, even if Newlands had, hopefully, been "put to bed".
"We enjoy that confrontation as a group and we manage it pretty well," he said.
India in danger of becoming Hindu nationalist State: US Congressman
'Everything will be resolved smoothly': Cong on Gehlot-Pilot tussle


text:
You are here > Attending > Things to do > Argentea Gallery
Argentea Gallery
28 St Paul's Square, Birmingham, West Midlands, B3 1RB
This gallery aims to support the careers of both emerging and established artists by promoting an awareness and appreciation of contemporary photography and by providing a platform where ideas and practices can be explored and tested.
facebook: https://www.facebook.com/ArgenteaGallery
St Paul's Birmingham
St Pauls has been at the heart of the Jewellery Quarter since 1779. Throughout its…
St Pauls Gallery
St Pauls Gallery is the World's leading retailer in signed limited edition album cover…
Royal Birmingham Society of Artists
The RBSA Gallery is owned by the Royal Birmingham Society of Artists, making it one of a…
RBSA Gallery
A gallery space set over three floors. The ground floor houses three small exhibition…
Escape Live Peaky Blinders
Working in a team of between two and six people, you will have just 60 minutes to escape…
Escape Live Birmingham
Escape Live is the #1 thing to do in Birmingham! Our 5* venue is open with so many games…
Coffin Works Museum
The shelves and workbenches at Newman Brothers are full of original stock and tools of…
The Hive Cafe & Bakery
Located in the heart of the city, in a beautiful grade II listed former jewellery…
The Coffin Works
Birmingham's award-winning independent museum The Coffin Works is a truly unique space…
Vittoria Street Gallery
Located in the heart of Birmingham's famous Jewellery Quarter the Vittoria Street Gallery…
Pen Museum
Making steel pen nibs in Birmingham during the Victorian era was a major industry with…
Birmingham Museum and Art Gallery
Birmingham Museum & Art Gallery is currently closed for essential infrastructure works.…
Paradise Birmingham
Opening TBC - Paradise is the latest chapter in Birmingham's compelling histor will…


text:
Q: Get property value from string using reflection I am trying implement the Data transformation using Reflection1 example in my code.
The GetSourceValue function has a switch comparing various types, but I want to remove these types and properties and have GetSourceValue get the value of the property using only a single string as the parameter.  I want to pass a class and property in the string and resolve the value of the property.
Is this possible?
1 Web Archive version of original blog post

A: The below method works perfect for me:
class MyClass {
    public string prop1 { set; get; }

    public object this[string propertyName]
    {
        get { return this.GetType().GetProperty(propertyName).GetValue(this, null); }
        set { this.GetType().GetProperty(propertyName).SetValue(this, value, null); }
    }
}

To get the property value:
MyClass t1 = new MyClass();
...
string value = t1["prop1"].ToString();

To set the property value:
t1["prop1"] = value;

A: public static List<KeyValuePair<string, string>> GetProperties(object item) //where T : class
    {
        var result = new List<KeyValuePair<string, string>>();
        if (item != null)
        {
            var type = item.GetType();
            var properties = type.GetProperties(BindingFlags.Public | BindingFlags.Instance);
            foreach (var pi in properties)
            {
                var selfValue = type.GetProperty(pi.Name).GetValue(item, null);
                if (selfValue != null)
                {
                    result.Add(new KeyValuePair<string, string>(pi.Name, selfValue.ToString()));
                }
                else
                {
                    result.Add(new KeyValuePair<string, string>(pi.Name, null));
                }
            }
        }
        return result;
    }

This is a way to get all properties with their values in a List.

A: What about using the CallByName of the Microsoft.VisualBasic namespace (Microsoft.VisualBasic.dll)? It uses reflection to get properties, fields, and methods of normal objects, COM objects, and even dynamic objects.
using Microsoft.VisualBasic;
using Microsoft.VisualBasic.CompilerServices;

and then
Versioned.CallByName(this, "method/function/prop name", CallType.Get).ToString();

A: Great answer by jheddings. I would like to improve it by allowing referencing of aggregated arrays or collections of objects, so that propertyName could be property1.property2[X].property3:
    public static object GetPropertyValue(object srcobj, string propertyName)
    {
        if (srcobj == null)
            return null;

        object obj = srcobj;

        // Split property name to parts (propertyName could be hierarchical, like obj.subobj.subobj.property
        string[] propertyNameParts = propertyName.Split('.');

        foreach (string propertyNamePart in propertyNameParts)
        {
            if (obj == null)    return null;

            // propertyNamePart could contain reference to specific
            // element (by index) inside a collection
            if (!propertyNamePart.Contains("["))
            {
                PropertyInfo pi = obj.GetType().GetProperty(propertyNamePart);
                if (pi == null) return null;
                obj = pi.GetValue(obj, null);
            }
            else
            {   // propertyNamePart is areference to specific element
                // (by index) inside a collection
                // like AggregatedCollection[123]
                //   get collection name and element index
                int indexStart = propertyNamePart.IndexOf("[")+1;
                string collectionPropertyName = propertyNamePart.Substring(0, indexStart-1);
                int collectionElementIndex = Int32.Parse(propertyNamePart.Substring(indexStart, propertyNamePart.Length-indexStart-1));
                //   get collection object
                PropertyInfo pi = obj.GetType().GetProperty(collectionPropertyName);
                if (pi == null) return null;
                object unknownCollection = pi.GetValue(obj, null);
                //   try to process the collection as array
                if (unknownCollection.GetType().IsArray)
                {
                    object[] collectionAsArray = unknownCollection as object[];
                    obj = collectionAsArray[collectionElementIndex];
                }
                else
                {
                    //   try to process the collection as IList
                    System.Collections.IList collectionAsList = unknownCollection as System.Collections.IList;
                    if (collectionAsList != null)
                    {
                        obj = collectionAsList[collectionElementIndex];
                    }
                    else
                    {
                        // ??? Unsupported collection type
                    }
                }
            }
        }

        return obj;
    }

A: Using PropertyInfo of the System.Reflection namespace. Reflection compiles just fine no matter what property we try to access. The error will come up during run-time.
    public static object GetObjProperty(object obj, string property)
    {
        Type t = obj.GetType();
        PropertyInfo p = t.GetProperty("Location");
        Point location = (Point)p.GetValue(obj, null);
        return location;
    }

It works fine to get the Location property of an object
Label1.Text = GetObjProperty(button1, "Location").ToString();

We'll get the Location : {X=71,Y=27}
We can also return location.X or location.Y on the same way.

A: public class YourClass
{
    //Add below line in your class
    public object this[string propertyName] => GetType().GetProperty(propertyName)?.GetValue(this, null);
    public string SampleProperty { get; set; }
}

//And you can get value of any property like this.
var value = YourClass["SampleProperty"];

A: The following code is a Recursive method for displaying the entire hierarchy  of all of the Property Names and Values contained in an object's instance.  This method uses a simplified version of AlexD's GetPropertyValue() answer above in this thread.  Thanks to this discussion thread, I was able to figure out how to do this!
For example, I use this method to show an explosion or dump of all of the properties in a WebService response by calling the method as follows:

PropertyValues_byRecursion("Response", response, false);

public static object GetPropertyValue(object srcObj, string propertyName)
{
  if (srcObj == null)
  {
    return null;
  }
  PropertyInfo pi = srcObj.GetType().GetProperty(propertyName.Replace("[]", ""));
  if (pi == null)
  {
    return null;
  }
  return pi.GetValue(srcObj);
}

public static void PropertyValues_byRecursion(string parentPath, object parentObj, bool showNullValues)
{
  /// Processes all of the objects contained in the parent object.
  ///   If an object has a Property Value, then the value is written to the Console
  ///   Else if the object is a container, then this method is called recursively
  ///       using the current path and current object as parameters

  // Note:  If you do not want to see null values, set showNullValues = false

  foreach (PropertyInfo pi in parentObj.GetType().GetTypeInfo().GetProperties())
  {
    // Build the current object property's namespace path.
    // Recursion extends this to be the property's full namespace path.
    string currentPath = parentPath + "." + pi.Name;

    // Get the selected property's value as an object
    object myPropertyValue = GetPropertyValue(parentObj, pi.Name);
    if (myPropertyValue == null)
    {
      // Instance of Property does not exist
      if (showNullValues)
      {
        Console.WriteLine(currentPath + " = null");
        // Note: If you are replacing these Console.Write... methods callback methods,
        //       consider passing DBNull.Value instead of null in any method object parameters.
      }
    }
    else if (myPropertyValue.GetType().IsArray)
    {
      // myPropertyValue is an object instance of an Array of business objects.
      // Initialize an array index variable so we can show NamespacePath[idx] in the results.
      int idx = 0;
      foreach (object business in (Array)myPropertyValue)
      {
        if (business == null)
        {
          // Instance of Property does not exist
          // Not sure if this is possible in this context.
          if (showNullValues)
          {
            Console.WriteLine(currentPath  + "[" + idx.ToString() + "]" + " = null");
          }
        }
        else if (business.GetType().IsArray)
        {
          // myPropertyValue[idx] is another Array!
          // Let recursion process it.
          PropertyValues_byRecursion(currentPath + "[" + idx.ToString() + "]", business, showNullValues);
        }
        else if (business.GetType().IsSealed)
        {
          // Display the Full Property Path and its Value
          Console.WriteLine(currentPath + "[" + idx.ToString() + "] = " + business.ToString());
        }
        else
        {
          // Unsealed Type Properties can contain child objects.
          // Recurse into my property value object to process its properties and child objects.
          PropertyValues_byRecursion(currentPath + "[" + idx.ToString() + "]", business, showNullValues);
        }
        idx++;
      }
    }
    else if (myPropertyValue.GetType().IsSealed)
    {
      // myPropertyValue is a simple value
      Console.WriteLine(currentPath + " = " + myPropertyValue.ToString());
    }
    else
    {
      // Unsealed Type Properties can contain child objects.
      // Recurse into my property value object to process its properties and child objects.
      PropertyValues_byRecursion(currentPath, myPropertyValue, showNullValues);
    }
  }
}

A: public static TValue GetFieldValue<TValue>(this object instance, string name)
{
    var type = instance.GetType();
    var field = type.GetFields(BindingFlags.NonPublic | BindingFlags.Static | BindingFlags.Instance).FirstOrDefault(e => typeof(TValue).IsAssignableFrom(e.FieldType) && e.Name == name);
    return (TValue)field?.GetValue(instance);
}

public static TValue GetPropertyValue<TValue>(this object instance, string name)
{
    var type = instance.GetType();
    var field = type.GetProperties(BindingFlags.NonPublic | BindingFlags.Static | BindingFlags.Instance).FirstOrDefault(e => typeof(TValue).IsAssignableFrom(e.PropertyType) && e.Name == name);
    return (TValue)field?.GetValue(instance);
}

A: How about something like this:
public static Object GetPropValue(this Object obj, String name) {
    foreach (String part in name.Split('.')) {
        if (obj == null) { return null; }

        Type type = obj.GetType();
        PropertyInfo info = type.GetProperty(part);
        if (info == null) { return null; }

        obj = info.GetValue(obj, null);
    }
    return obj;
}

public static T GetPropValue<T>(this Object obj, String name) {
    Object retval = GetPropValue(obj, name);
    if (retval == null) { return default(T); }

    // throws InvalidCastException if types are incompatible
    return (T) retval;
}

This will allow you to descend into properties using a single string, like this:
DateTime now = DateTime.Now;
int min = GetPropValue<int>(now, "TimeOfDay.Minutes");
int hrs = now.GetPropValue<int>("TimeOfDay.Hours");

You can either use these methods as static methods or extensions.

A:  public static object GetPropValue(object src, string propName)
 {
     return src.GetType().GetProperty(propName).GetValue(src, null);
 }

Of course, you will want to add validation and whatnot, but that is the gist of it.

A: You never mention what object you are inspecting, and since you are rejecting ones that reference a given object, I will assume you mean a static one.
using System.Reflection;
public object GetPropValue(string prop)
{
    int splitPoint = prop.LastIndexOf('.');
    Type type = Assembly.GetEntryAssembly().GetType(prop.Substring(0, splitPoint));
    object obj = null;
    return type.GetProperty(prop.Substring(splitPoint + 1)).GetValue(obj, null);
}

Note that I marked the object that is being inspected with the local variable obj. null means static, otherwise set it to what you want. Also note that the GetEntryAssembly() is one of a few available methods to get the "running" assembly, you may want to play around with it if you are having a hard time loading the type.

A: Dim NewHandle As YourType = CType(Microsoft.VisualBasic.CallByName(ObjectThatContainsYourVariable, "YourVariableName", CallType), YourType)

A: Here is another way to find a nested property that doesn't require the string to tell you the nesting path. Credit to Ed S. for the single property method.
    public static T FindNestedPropertyValue<T, N>(N model, string propName) {
        T retVal = default(T);
        bool found = false;

        PropertyInfo[] properties = typeof(N).GetProperties();

        foreach (PropertyInfo property in properties) {
            var currentProperty = property.GetValue(model, null);

            if (!found) {
                try {
                    retVal = GetPropValue<T>(currentProperty, propName);
                    found = true;
                } catch { }
            }
        }

        if (!found) {
            throw new Exception("Unable to find property: " + propName);
        }

        return retVal;
    }

        public static T GetPropValue<T>(object srcObject, string propName) {
        return (T)srcObject.GetType().GetProperty(propName).GetValue(srcObject, null);
    }

A: Have a look at the Heleonix.Reflection library. You can get/set/invoke members by paths, or create a getter/setter (lambda compiled into a delegate) which is faster than reflection. For example:
var success = Reflector.Get(DateTime.Now, null, "Date.Year", out int value);

Or create a getter once and cache for reuse (this is more performant but might throw NullReferenceException if an intermediate member is null):
var getter = Reflector.CreateGetter<DateTime, int>("Date.Year", typeof(DateTime));
getter(DateTime.Now);

Or if you want to create a List<Action<object, object>> of different getters, just specify base types for compiled delegates (type conversions will be added into compiled lambdas):
var getter = Reflector.CreateGetter<object, object>("Date.Year", typeof(DateTime));
getter(DateTime.Now);

A: Although the original question was about how to get the value of the property using only a single string as the parameter, it makes a lot of sense here to use an Expression rather than simply a string to ensure that the caller never uses a hard coded property name. Here is a one line version with usage:
public static class Utils
...
    public static TVal GetPropertyValue<T, TVal>(T t, Expression<Func<T, TVal>> x)
        => (TVal)((x.Body as MemberExpression)?.Member as PropertyInfo)!.GetValue(t);

...
    var val = Utils.GetPropertyValue(foo,  p => p.Bar);

Here is a slightly better version in terms of readability a error handling:
public static TVal GetPropertyValue<T, TVal>(T t, Expression<Func<T, TVal>> x)
{
    var m = (x.Body as MemberExpression)?.Member;
    var p = m as PropertyInfo;

    if (null == p)
        throw new ArgumentException($"Unknown property: {typeof(T).Name}.{(m?.Name??"???")}");

    return (TVal)p.GetValue(t);
}

In short you pass in a lambda expression reading a property. The body of the lambda - the part on the right of the fat arrow - is a member expression from which you can get the member name and which you can cast to a PropertyInfo, provided the member is actually a Property and not, for instance,  a method.
In the short version, the null forgiving operator - the ! in the expression - tells the compiler that the PropertyInfo will not be null. This is a big lie and you will get a NullReferenceException at runtime. The longer version gives you the name of the property if it manages to get it.
PS: Thanks to Oleg G. for the initial version of this code :)

A: If I use the code from Ed S. I get

'ReflectionExtensions.GetProperty(Type, string)' is inaccessible due to its protection level

It seems that GetProperty() is not available in Xamarin.Forms. TargetFrameworkProfile is Profile7 in my Portable Class Library (.NET Framework 4.5, Windows 8, ASP.NET Core 1.0, Xamarin.Android, Xamarin.iOS, Xamarin.iOS Classic).
Now I found a working solution:
using System.Linq;
using System.Reflection;

public static object GetPropValue(object source, string propertyName)
{
    var property = source.GetType().GetRuntimeProperties().FirstOrDefault(p => string.Equals(p.Name, propertyName, StringComparison.OrdinalIgnoreCase));
    return property?.GetValue(source);
}

Source

A: About the nested properties discussion, you can avoid all the reflection stuff if you use the DataBinder.Eval Method (Object, String) as below:
var value = DataBinder.Eval(DateTime.Now, "TimeOfDay.Hours");

Of course, you'll need to add a reference to the System.Web assembly, but this probably isn't a big deal.

A: The method to call has changed in .NET Standard (as of 1.6). Also we can use C# 6's null conditional operator.
using System.Reflection;
public static object GetPropValue(object src, string propName)
{
    return src.GetType().GetRuntimeProperty(propName)?.GetValue(src);
}

A: Add to any Class:
public class Foo
{
    public object this[string propertyName]
    {
        get { return this.GetType().GetProperty(propertyName).GetValue(this, null); }
        set { this.GetType().GetProperty(propertyName).SetValue(this, value, null); }
    }

    public string Bar { get; set; }
}

Then, you can use as:
Foo f = new Foo();
// Set
f["Bar"] = "asdf";
// Get
string s = (string)f["Bar"];

A: shorter way ....
var a = new Test { Id = 1 , Name = "A" , date = DateTime.Now};
var b = new Test { Id = 1 , Name = "AXXX", date = DateTime.Now };

var compare = string.Join("",a.GetType().GetProperties().Select(x => x.GetValue(a)).ToArray())==
              string.Join("",b.GetType().GetProperties().Select(x => x.GetValue(b)).ToArray());

A: jheddings and AlexD both wrote excellent answers on how to resolve property strings. I'd like to throw mine in the mix, since I wrote a dedicated library exactly for that purpose.
Pather.CSharp's main class is Resolver. Per default it can resolve properties, array and dictionary entries.
So, for example, if you have an object like this
var o = new { Property1 = new { Property2 = "value" } };

and want to get Property2, you can do it like this:
IResolver resolver = new Resolver();
var path = "Property1.Property2";
object result = r.Resolve(o, path);
//=> "value"

This is the most basic example of the paths it can resolve. If you want to see what else it can, or how you can extend it, just head to its Github page.

A: Here's what I got based on other answers. A little overkill on getting so specific with the error handling.
public static T GetPropertyValue<T>(object sourceInstance, string targetPropertyName, bool throwExceptionIfNotExists = false)
{
    string errorMsg = null;

    try
    {
        if (sourceInstance == null || string.IsNullOrWhiteSpace(targetPropertyName))
        {
            errorMsg = $"Source object is null or property name is null or whitespace. '{targetPropertyName}'";
            Log.Warn(errorMsg);

            if (throwExceptionIfNotExists)
                throw new ArgumentException(errorMsg);
            else
                return default(T);
        }

        Type returnType = typeof(T);
        Type sourceType = sourceInstance.GetType();

        PropertyInfo propertyInfo = sourceType.GetProperty(targetPropertyName, returnType);
        if (propertyInfo == null)
        {
            errorMsg = $"Property name '{targetPropertyName}' of type '{returnType}' not found for source object of type '{sourceType}'";
            Log.Warn(errorMsg);

            if (throwExceptionIfNotExists)
                throw new ArgumentException(errorMsg);
            else
                return default(T);
        }

        return (T)propertyInfo.GetValue(sourceInstance, null);
    }
    catch(Exception ex)
    {
        errorMsg = $"Problem getting property name '{targetPropertyName}' from source instance.";
        Log.Error(errorMsg, ex);

        if (throwExceptionIfNotExists)
            throw;
    }

    return default(T);
}

A: Here is my solution. It works also with COM objects and allows to access collection/array items from COM objects.
public static object GetPropValue(this object obj, string name)
{
    foreach (string part in name.Split('.'))
    {
        if (obj == null) { return null; }

        Type type = obj.GetType();
        if (type.Name == "__ComObject")
        {
            if (part.Contains('['))
            {
                string partWithoundIndex = part;
                int index = ParseIndexFromPropertyName(ref partWithoundIndex);
                obj = Versioned.CallByName(obj, partWithoundIndex, CallType.Get, index);
            }
            else
            {
                obj = Versioned.CallByName(obj, part, CallType.Get);
            }
        }
        else
        {
            PropertyInfo info = type.GetProperty(part);
            if (info == null) { return null; }
            obj = info.GetValue(obj, null);
        }
    }
    return obj;
}

private static int ParseIndexFromPropertyName(ref string name)
{
    int index = -1;
    int s = name.IndexOf('[') + 1;
    int e = name.IndexOf(']');
    if (e < s)
    {
        throw new ArgumentException();
    }
    string tmp = name.Substring(s, e - s);
    index = Convert.ToInt32(tmp);
    name = name.Substring(0, s - 1);
    return index;
}

A: Whenever you want to loop over all properties in on an object and then use each value of the property must use this piece of code:
foreach (var property in request.GetType().GetProperties())
{
    var valueOfProperty = property.GetValue(properties, null);
}

redpajama_set_name: RedPajamaStackExchange


The ultimate accessory for all Dominion players - the playing area is hidden away when not in use with a cover that changes your Turntable into a Lazy Susan.
The Turntable takes unsleeved cards - a new Turntable for sleeved cards will be available soon!
This gorgeous turntable doubles up as a 'Lazy Susan' which you can keep on your table at all times.
Designed and made in our workshop, the Dominion Turntable features a top cover which hides the playing area when it is not in use.
620mm diameter with the top in place.
585mm playing area with 14 card slots around the perimeter and 7 in the middle along with 4 coin containers.
Treasure Cards - Copper, Silver, Gold and Platinum in the centre slots along with Trash and Curse Cards.
Made from quality 18mm birch plywood which is edge banded with real birch edging - hand sanded and finished with our special quality varnish ensuring a durable surface.
AVAILABLE IN CHOICE OF 4 COLOUR FINISHES.
A beautifully easy way to play a fantastic game!