Want to know more? Tell us whether you are a business or retail customer and explore our Contact us area.
Explore the Contact us service for sector specialists: engineers, developers, architects, designers, contractors, dealers, installers and other professionals.
Explore the Contact us service for people in search of ideas for renovating and refurbishing their homes, and suggestions and advice on Marazzi ceramic and stoneware tiles.


Moroccan Argan Oil has been world reknowned for years as the go to for improving hair qaulity. Whether you have brittle, dry,damaged or frizzy hair, this serum is for you. It gives hair supreme moisture and luster, while hemp oil nourishes and rosemary refreshes. This can be used as a leave in treatment, a hot oil treatment, or just a dab to tame frizz. Contains: Argan oil, Hemp Oil, and Rosemary essential oil . This can also be used as a beard/body oil.


Where Is He Now: John Getz (Actor) - Blood Simple.
Claim To Fame: He is best known for his role in the Coen Brothers' neo-noir thriller Blood Simple (1984).
Family Life: He has a daughter, Hannah, from his marriage to playwright Grace McKeaney.
Info: Getz's first role was playing an attendant in a made-for-television horror film Killer Bees (1974). He moved to New York City and became active in local theater, and appeared as Neil Johnson for 18 months on the daytime soap opera Another World. He became well-known for his starring role in the Coen Brothers' neo-noir thriller Blood Simple (1984), as the lover of a married woman (Frances McDormand).
Getz has guest-starred in many television series, including the long-running Three's Company (1980) as Lee Tripper, brother of Jack Tripper played by the late John Ritter. More recently, he has guest-starred in How I Met Your Mother, Prison Break, and Private Practice.
Some of his other films include The Fly (1986) and The Fly II (1989), Born on the Fourth of July (1989), Don't Tell Mom the Babysitter's Dead (1991), Curly Sue (1991) and Men at Work (1990).
Trivia: One of four children.
Born and raised in the Mississippi River Valley of Northern Illinois and in Iowa.
One of his earliest roles was as "Shampoo Man" in a Johnson & Johnson Baby Shampoo commercial shot in the late 70s.
Where Is He Now: In 2007, Getz appeared in the film Zodiac, as well as in Bill Guttentag and Dan Sturman's documentary film Nanking as George Ashmore Fitch, head of the local YMCA and Administrative Director of the International Committee for the Nanking Safety Zone.
Most recently, he appeared in the 2010 film The Social Network, and the 2011 thriller Elevator. He also appeared on an episode of the new television series Scandal.


text:
Oscar Buzz – 'Ma Rainey's Black Bottom': Magic Beneath the Surface as Viola Davis and Chadwick Boseman Electrify
Tyler Bey
Tyler Isaiah Bey is a writer and actor from Atlanta, Georgia. His emphasis on storytelling through his work guides him through his writing. His theatre background has given him a love for honest performance and a strong appreciation for art. Hollywood Insider's focus on education, philanthropy, and anti-drama is the perfect platform for Tyler who's unique and often intersectional perspective gives him a honed edge to the work he creates. He finds joy in discovering powerful crossroads of current events and media and infuses this cultural awareness into his writing. For it's these intersections that make art so powerful and writing such a pleasure for Tyler.
Les Almourzaev
Les Almourzaev regularly works as a freelance script reader and screenwriter in Los Angeles. In addition to writing features and reviews for Hollywood Insider, Les provides guidance to up-and-coming writers of all backgrounds, as well as regularly reading for various local and international film festivals. Passionate for diverse and substance-focused writing, Les is excited to work with Hollywood Insider to provide meaningful and in-depth journalism.
'Ma Rainey's Black Bottom' – A Deeply Layered Story
"Its What Ma Say that Count"
Ma Rainey – A Shakespearean King
Chadwick Boseman's Levee: Holding Back the Floodgates
Chadwick Boseman Gives an Electrifying Performance
A Stellar Ensemble
A Must-Watch for Every Netflix Subscriber
A Film Nestled with Artistry
Photo: 'Ma Rainey's Black Bottom'/Netflix
The highly anticipated film adaptation of August Wilson's Pulitzer winning 'Ma Rainey's Black Bottom' is finally here. Following the story of one of America's first professional singers, Ma Rainey's Black Bottom uses the "Mother of Blues" as a vehicle to depict Black American life in the early 20th century. The film hints that Ma and her band have seemingly found a bypass from the social immobility most Black Americans faced during the 1920s.
The movie details a dramatic recording session of "Madame Gertrude Rainey and Her Georgia Smart Sets", comprised of Ma Rainey (Viola Davis) and her instrumentalists Cutler (Colman Domingo), Toledo (Glynn Turman), Slow Drag (Michael Potts), and Levee (Chadwick Boseman).
Filmed in August Wilson's hometown of Pittsburgh, Pennsylvania, the story is the only play from Wilson's Century Cycle written outside the steel city. Helmed by Viola Davis playing the title character, the film's backbone isn't just in its masterful acting, but also its musicality.
Related article: A Tribute: The Inspiring Life of Chadwick Boseman, Passing the Torch
Related article: Must Watch: 'They've Gotta Have Us' Beautifully Chronicles Black Hollywood's Progress
"What's the colored man gonna do with himself? That's what we're waiting to find out… But first he's got to know that he's a leftover."
Black Bottom tells a story symbolic of the African American experience in early 20th century America, a time filled with hatred, racism, and persecution toward the Black community—systemic racism that unfortunately continues to prevail to this day, nearly 100 years after the story's setting. The film features scenes involving Black communities moving out west in search of work, intimidated by the white working class, and other subtle and tense race-related moments. Although Black Bottom, on paper, is billed as a relatively simple story about a group of musicians getting together for a brief recording session at a Chicago studio, the narrative's underlying themes—which end up dominating the film's runtime, dwarfing the actual music in the process—turn out to be the film's actual focal points. Its main characters often reflect on their respective Black experiences of living in America, a country that continually threatens their well-being —whether financial, emotional, or simply toward their very existence. The film's layered, dialogue-fueled scenes really do make the viewer feel like they're watching a Broadway-quality play at home, resulting in a wonderfully unique experience.
"The score is by jazz legend Branford Marsalis, while the tunes that Ma Rainey sings are from her own catalog" Thrillist claims. They continue to discuss how Davis doesn't actually sing— the booming voice you'll hear in the film is from Maxayn Lewis, a vocal powerhouse that embeds new life into the nearly century-old lyrics.
When we're first introduced to the cast they're dressed elegantly and wielding pristine instruments. However, the film's magic isn't in Ma's glitz and glamour, but rather the screeching flames swelling beneath the surface.
Related article: MUST WATCH – Hollywood Insider's CEO Pritan Ambroase's Love Letter to Black Lives Matter – VIDEO
Subscribe to Hollywood Insider's YouTube Channel, by clicking here.
Before Ma arrives at the rehearsal studio, confusion runs amuck as characters struggle to decide on a version of the title song 'Ma Rainey's Black Bottom'. The gravitas of her entrance is supported by the vacuum left in her absence, and the power she exudes when she finally appears. Many characters attempt to get in Ma's way, some even going behind her back, but in the end, Ma is a master at getting her way and especially getting her due.
Davis reminds audience members of her mastery in her almighty depiction of Rainey. Studded with a gold necklace, gilded teeth, and smeared eyeliner, Davis fuses Ma's omnipotence into her cells. She's supreme; there was no other casting choice better than the queen of acting to portray one of America's brightest hidden gems.
Playing the film's titular character, Ma Rainey, Viola Davis completely transforms herself into the troubled "Mother of the Blues"—arguably producing the film's strongest performance. Davis is a tour-de-force and effortlessly embodies her character's unflinching, artistic process and quiet dignity, demanding respect from everyone around her—especially those who are white, male, and in possession of power. Full of raw talent and unapologetic for her craft, Rainey is a deeply complex, troubled, and multi-layered character, all of which Davis nails perfectly.
Related article: The Power of Positivity: Ikorodu Bois + Chris Hemsworth + Russo Brothers + Sam Hargrave
Limited Time Offer – FREE Subscription to Hollywood Insider
Click here to read more on Hollywood Insider's vision, values and mission statement here – Media has the responsibility to better our world – Hollywood Insider fully focuses on substance and meaningful entertainment, against gossip and scandal, by combining entertainment, education, and philanthropy.
Born Gertrude Pridgett in 1886 and later nicknamed Ma Rainey after marrying Will "Pa Rainey" in 1904, the singer is one of the first African Americans to be signed to the record label Paramount. Throughout Davis' performance is the theme of getting what's due. There is a litany of times where Ma puts the entire rehearsal on pause (to much dismay of her white manager and producer, Irvin and Sturdyvant respectively) for something simple like a promised Coca-Cola. In one of the many monologues, Wilson is famous for, Rainey describes how white people don't care about who she is as a person, all they want is her voice. The artistry in which Davis has crafted Rainey and the mammoth platform the movie was given is a dedication to the hidden history early Black artists had of fighting for their worth.
As jazz and other more upbeat music styles began to grip America's interest, blues legends like Ma Rainey went uncherished. Chicago Whispers: A History of LGBT History Before Stonewall, illustrates how even in her death she went unrecognized: "an obituary in the local paper described the blues singer and businesswoman as a 'housekeeper".
The movie also shamelessly showcases Ma's queerness, something that was vibrant in her music. "I went out last night with a crowd of my friends/ It must've been women, 'cause I don't like no men/ Wear my clothes just like a fan/ Talk to the gals just like any old man".
In the end, there's no better marriage than Wilson and the blues. While Viola's performance is almighty, a great lead is only as great as the cast around her, and boy did Viola have legendary support.
Related article: Hollywood Insider's CEO Pritan Ambroase: "The Importance of Venice Film Festival as the Protector of Cinema"
Related article: The Masters of Cinema Archives: Hollywood Insider Pays Tribute to 'La Vie En Rose', Exclusive Interview with Director Olivier Dahan
"What you all say don't count with me, you understand? Ma listen to her heart. Ma listen to the voice inside her. That's what count with Ma."
Davis's performance is at times reminiscent of a Shakespearean king, a character yielding great power and influence over her people and surroundings, a power that threatens to be revoked from her at any moment—akin to a ticking-time-bomb waiting to detonate, or a crumbling castle threatening to give way. Frustrated by Levee's youth and wild-natured habits, Rainey fights against the threatening tide of change in the music industry, repeatedly butting heads with Levee's rebellious showmanship and his jazzier, upbeat tempos.
"They don't care nothing about me. All they want is my voice… They gonna treat me the way I want to be treated, no matter how much it hurts them."
Much like Levee, Rainey is a deeply complex character, repeatedly challenging the viewer with her unapologetic attitude toward everyone around her, making us question whether she's a villain or truly the misunderstood and underappreciated artist she claims to be. Davis's rendition has her character sweat and sigh as she grapples to maintain her hard-fought power in the music industry, her running makeup seemingly symbolizing the crumbling dominance and fatigue of a larger-than-life artist.
Related article: EVOLUTION: Every Chadwick Boseman Role From 2003 to 2020, All Performances Exceptionally Poignant
Related article: A Reflection on Chadwick Boseman's 'Black Panther', a Gift to the World and Its Children
Rainey is most comfortable when singing or talking about music—her only true reprieve from the unfairness and difficulties of life, an outlook that's also shared by the majority of the film's characters. Rainey understands her worth and value in the industry, fully aware that her sole power lies in her voice, which she cherishes dearly—all of which is masterfully personified by Davis's reserved presence on screen.
Featuring Chadwick Boseman's (Black Panther, Da 5 Bloods) final performance, August Wilson's adapted play—Ma Rainey's Black Bottom—is out now on Netflix. (Wilson is also known for writing Fences and is a two-time Pulitzer Prize-winning playwright.)
Chadwick Boseman delivers a powerful final performance on screen as Levee, a trumpet virtuoso. Boseman is full of vitality and life, and Levee is a fitting final character for a man who gave the world an electric vigor with every role he played. Although Levee is far more restless than Boseman seemed to be, their intersection lies in their battles beneath the surface.
Related article: The Next Generation of Talented Young Black Actors to Rule Hollywood?
Related article: The Much Anticipated 'Small Axe' from Writer-Director Steve McQueen – Black Lives Matter
Serving as another devastating blow to an already turbulent year, Boseman tragically passed away from advanced colon cancer back on August 28th, 2020 at the age of 43, shocking both fans and colleagues around the world, many of whom weren't even aware of the actor's deteriorating health as The Black Panther star only told his closest circle about his condition. Known for his iconic roles as Black Panther, Jackie Robinson (42), and James Brown (Get on Up), Boseman's passing sent shockwaves throughout the entertainment industry. Not even producer Denzel Washington knew that Boseman was brawling with cancer on the set of Ma Rainey.
"He kept it to himself. It was nobody's business. He was there to deliver and he delivered" Washington told CBS. Viola was also very vocal about the impact Boseman left on her in his passing: "I felt like he was always living in the moment, squeezing out every bit of life. What it makes me think is, it's not the quantity, it's the quality" she says to Yahoo Entertainment.
Maybe this is why Boseman was able to play a man like Levee so well. Just as his name suggests, Wilson wrote Levee to a man with a lot of water behind his floodgates, and when they're released, the film soars to new heights.
Related article: Michael B Jordan's Career and Greatest Roles So Far
Related article: Idris Elba's 'Concrete Cowboy' is a Revolutionary Film – Coming Soon!
Levee is a wistful trumpet player with dreams of creating his own band and running things his way just like Ma. Through broken promises and dire circumstances, Levee pushes to get his due. He's lived a grueling life, and where along the way he lost his faith in God and just about everything else, besides his instrument. His fight is deeper than wanting to be a star; in his grapple with getting what he's owed is an experiment on justice and if it works the same as it does for his white counterparts. Levee feels justice and the semblances of God abandoned Black people long ago; it's the birth of his rage. Although he seems like a bright-eyed trumpeter on the surface, masked by his wide smile is a metaphor for the nature of Black American opportunity.
While Levee's story and Boseman's death may both seem tragic, in them both are messages about what life is truly about. Ma Rainey's Black Bottom sprinkles in tragedy, but it's certainly matched by its understanding of the joy it is to be Black and alive. Ma Rainey's Black Bottom is proof that Chadwick Boseman will live on in his art and continue to assume new beautiful forms.
Related article: The Rise of Idris Elba: A Tribute to the Path-Breaking Leading Man
Related article: 'Green Book': Can White Filmmakers Make Films on Black Stories Truthfully?
Black Bottom arguably faced significant expectations due to the fact that it features Boseman's final performance. Despite these high expectations and the bittersweet sadness of seeing Boseman playing on the screen for the last time, the late actor ends up completely dominating the screen with his presence—providing an arguably Oscar-worthy performance for his rendition of the troubled character Levee. Boseman's presence is electrifying, immediately pulling the viewer in with his layered and fully-committed performance, realistically conveying the fears, aspirations, and heartache associated with Levee's character. Boseman's monologues alternatively elicit laughter and tears from the viewer, and the actor masterfully embodies his character's strengths and weaknesses, producing a genuinely moving experience. Levee's monologues often challenge God, religion, and the terror of death itself—inadvertently producing an especially haunting performance from Boseman, due to his real-life struggles with cancer during Black Bottom's filming, and his tragic and subsequent death thereafter.
Featuring strong supporting performances from Colman Domingo (Euphoria, Selma), Glynn Turman (Fargo), Michael Potts (True Detective, The Wire), and Taylour Paige (Ballers), Black Bottom is a tour-de-force—boasting deeply moving performances, beautiful visual imagery, dazzling props, costumes, and set designs, and strikingly emotional song numbers. Co-produced by Denzel Washington—who famously helped jump-start Bosman's illustrious acting career—Netflix's latest adaptation is a well-crafted masterpiece.
Related article: Oprah Winfrey: 32 Facts on the Queen of Hollywood and Most Inspiring Media Mogul
Related article: A Tribute to Shonda Rhimes: How the Most Successful Showrunner Came into Power
Ma Rainey's Black Bottom not only serves as an undeniably strong addition to Netflix's library of films but boasts a masterful performance from Viola Davis and a deeply moving, final performance from Chadwick Boseman. Black Bottom will no doubt be a bittersweet experience for fans of the late actor, but it simultaneously serves as a fitting tribute to Boseman's illustrious career as well—highlighting the actor's raw talents, whether in acting, singing, or his ability to personify the human spirit. Simply put, it's a beautiful film that demands your attention and is sure to leave a long-lasting impression on its viewers.
There's a certain trust you can put into historically significant films when you know a Black writer and director are behind them. When contemporary flares seep through, like Ma's encounter with police early in the film, knowing that George C. Wolf directed this film puts audience members at ease. When you have Black leaders behind Black stories magic has a way of finding itself in the nooks and crannies of the picture.
Related article: Netflix Releases Their Best Animated Short Yet with the Beautifully Emotional 'Canvas'
Related article: The American Hero Stacey Abrams' 'And She Could Be Next': Perfect Primer to the 2021 Georgia Runoffs
Colman Domingo called the film an early Christmas gift in his Broadway.com roundtable with co-theatre legends Michael Potts and Glynn Turman. How fitting that a movie adapted from an August Wilson play be decorated with the likes of some of Black Broadway's most treasured talent. That's what this film becomes in the end: a reflection on the origins of Black entertainment and a redeclaration of our presence.
Every day is a fight for Black actors, musicians, directors, and artists—no matter what status you hold— to get the recognition we've been robbed of. Ma Rainey's Black Bottom shows the fight the young and old have been through in the pursuit of promises like justice. The magic bestowed in the script comes forth when audience members of all ages can see the coalition of the past and present of Black artistry and beauty.
'Ma Rainey's Black Bottom' is streaming now on Netflix.
By Tyler Bey and Les Almourzaev
Click here to read Hollywood Insider's CEO Pritan Ambroase's love letter to Black Lives Matter, in which he tackles more than just police reform, press freedom and more – click here.
An excerpt from the love letter: Hollywood Insider's CEO/editor-in-chief Pritan Ambroase affirms, "Hollywood Insider fully supports the much-needed Black Lives Matter movement. We are actively, physically and digitally a part of this global movement. We will continue reporting on this major issue of police brutality and legal murders of Black people to hold the system accountable. We will continue reporting on this major issue with kindness and respect to all Black people, as each and every one of them are seen and heard. Just a reminder, that the Black Lives Matter movement is about more than just police brutality and extends into banking, housing, education, medical, infrastructure, etc. We have the space and time for all your stories. We believe in peaceful/non-violent protests and I would like to request the rest of media to focus on 95% of the protests that are peaceful and working effectively with positive changes happening daily. Media has a responsibility to better the world and Hollywood Insider will continue to do so."
More Interesting Stories From Hollywood Insider
– A Tribute To The Academy Awards: All Best Actor/Actress Speeches From The Beginning Of Oscars 1929-2019 | From Rami Malek, Leonardo DiCaprio To Marlon Brando & Beyond | From Olivia Colman, Meryl Streep To Bette Davis & Beyond
– Why Queen Elizabeth II Is One Of The Greatest Monarchs | Her Majesty Queen Elizabeth II of United Queendom of Great Britain & Northern Ireland
Ma Rainey's Black Bottom, Ma Rainey's Black Bottom, Ma Rainey's Black Bottom, Ma Rainey's Black Bottom, Ma Rainey's Black Bottom, Ma Rainey's Black Bottom, Ma Rainey's Black Bottom, Ma Rainey's Black Bottom, Ma Rainey's Black Bottom, Ma Rainey's Black Bottom, Ma Rainey's Black Bottom, Ma Rainey's Black Bottom, Ma Rainey's Black Bottom, Ma Rainey's Black Bottom, Ma Rainey's Black Bottom, Ma Rainey's Black Bottom, Ma Rainey's Black Bottom, Ma Rainey's Black Bottom, Ma Rainey's Black Bottom, Ma Rainey's Black Bottom, Ma Rainey's Black Bottom
Tyler Isaiah Bey is a writer and actor from Atlanta, Georgia. His emphasis on storytelling through his work guides him through his writing. His theatre background has given him a love for honest performance and a strong appreciation for art. Hollywood Insider's focus on education, philanthropy, and anti-drama is the perfect platform for Tyler who's unique and often intersectional perspective gives him a honed edge to the work he creates. He finds joy in discovering powerful crossroads of current events and media and infuses this cultural awareness into his writing. For it's these intersections that make art so powerful and writing such a pleasure for Tyler.
A Tribute to August Wilson: Breath and Life of…
A Tribute to Viola Davis: The Powerhouse Champion of…
The Case of Being Born Black in the American South,…
A Reflection on Chadwick Boseman's 'Black Panther',…
'The Highwaymen': The Story of the Cops who Caught…
As a Black Person, I Am Concerned About the…

redpajama_set_name: RedPajamaCommonCrawl


text:
http://appserver-a4b2c260-nginx-3cce674db6b4435398bddf172d355c5a/content/freedomworks-letter-opposition-protecting-against-international-terrorism-act-s-2939
FreedomWorks Letter of Opposition to the Protecting Against International Terrorism Act, S. 2939
On behalf of our activist community, I urge you to contact your senators and ask them to oppose the Protecting Against International Terrorism Act, S. 2939. Introduced by Senators Richard Burr (R-N.C.) and Mark Warner (D-Va.), this bill would reauthorize Section 215 of the USA PATRIOT Act and the "roving wiretap" and "lone wolf" provisions under the Foreign Intelligence Surveillance Act (FISA) that are each currently set to expire on March 15, 2020. The bill would renew these surveillance authorities through December 15, 2027 while largely ignoring the constitutional issues raised by how they have been used.
Section 215 is the portion of the PATRIOT Act that has been used to justify the mass collection of cell phone metadata, including records on millions of Americans, as revealed by Edward Snowden in 2013. Although the NSA claims to have ceased this particular form of mass surveillance, their continuous difficulty staying within legal and constitutional due process protections highlights the need for further oversight of our government's use of surveillance authorities domestically, not a reauthorization that ignores many deeply-needed reforms.
For example, Section 215 also authorizes the collection of business records, which explicitly includes "tangible things" such as financial transaction records and even medical and gun purchase records. Even after the limited transparency reforms passed since the NSA's mass surveillance abuses were revealed, we know far less about how the business records collection under Section 215 has been conducted - what kinds or how many records are being produced. Section 215, if it is to be reauthorized, also needs a stronger prohibition on using First Amendment-protected activities as the basis of a surveillance order.
Additionally, the Foreign Intelligence Surveillance Court (FISC) should be required to more frequently summon an amicus, as provided under the USA Freedom Act, to represent the privacy and due process concerns of American citizens when considering surveillance requests. The amicus requirement has been seldom used, yet has already contributed to revealing major FBI abuses of Americans' privacy via data collection under other portions of FISA. The FISC also need to be compelled to move faster on declassifying relevant portions of their prior major opinions on how surveillance authorities such as Section 215 are being interpreted. The lack of transparency on how the FISC actually interprets the government's surveillance authorities often leaves Congress in the dark when conducting crucial oversight on how their constituents are affected by intelligence activities. These are only some of the many concerns that civil liberties and due process advocates have about how military surveillance authorities aimed at foreign adversaries end up impacting the rights of innocent Americans at home.
The main reform that S. 2939 does offer is the repeal of the call detail records (CDR) program, which was passed in June 2015 as part of the USA FREEDOM Act. Intended as a restriction on the unconstitutional mass collection of Americans' telephony metadata that was revealed by whistleblowers such as Edward Snowden, the CDR program itself had been found to have resulted in massive overproduction of data on innocent Americans.
According to the latest annual report published by the Office of the Director of National Intelligence, the NSA collected 151.2 million call detail records in 2016, 534.4 million in 2017, and 434.2 million in 2018. The report notes that the NSA estimated the number of queries related to possible terrorism targets at 42 in 2016, 40 in 2017, and 11 in 2018. In other words, 11 collection orders in 2018 yielded 434.2 million records. The NSA began deleting these CDRs in 2018 because there were "irregularities" that "resulted in the production to NSA of some CDRs that NSA was not authorized to receive."
The collection of phone records continued after these records were deleted. Documents released in June 2019 in response to a Freedom of Information Act (FOIA) request by the American Civil Liberties Union revealed that this continued collection, too, had violated the due process rights of thousands of innocent Americans. The NSA has since confirmed that the CDR program has ceased operation, and NSA representative Susan Morgan has recently testified that even the infrastructure to run the program has been dismantled.
Earlier this year, the Wall Street Journal reported that the National Security Agency was recommending that the White House not seek reauthorization of the CDR program at all. Considering the NSA has already ended it, the proposed repeal of the CDR program is low-hanging fruit and can't be considered a significant reform. Rather, it is simply necessary housekeeping to codify what the NSA has already done administratively.
To merely end the already non-functioning CDR program and reauthorize the rest of Section 215 and related expiring authorities without significant further reforms would be to make a mockery of Congressional oversight and of the Fourth Amendment. For these reasons, I urge you to contact your senators and ask them to oppose the Protecting Against International Terrorism Act, S. 2939.
Adam Brandon President, FreedomWorks
Tags domestic surveillance, Foreign Intelligence Surveillance Act, NSA, 4th Amendment, due process
LoO_12_5_2019_Protecting_Against_International_Terrorism_Act_S._2939.pdf
Log in or register to post comments.
"https:\/\/www.freedomworks.org\/content\/issue-brief-reforming-bail-and-pretrial-detention?social=facebook_share"
https://fw-d7-freedomworks-org.s3.amazonaws.com/styles/thumbnail/s3/field/image/JusticeBlind.PNG?itok=H2Ctb9Q_
Issue Brief: Reforming Bail and Pretrial Detention
BY Josh Withrow
One of the cornerstone principles of the Western legal tradition is the presumption of innocence until proven guilty. Over the last century, the imposition of bail requirements for accused offenders has flipped that presumption on its head, frequently making pre-trial freedom contingent on cash bail amounts well above the ability of an average citizen to pay. This issue brief explores how this came to be and aims to set out principles for states to use in reforming their bail guidelines. The goal is a return to a system that truly serves both justice and public safety.
"https:\/\/www.freedomworks.org\/content\/freedomworks-member-month-september-2020-sen-rand-paul-r-ky?social=facebook_share"
https://fw-d7-freedomworks-org.s3.amazonaws.com/styles/thumbnail/s3/field/image/StandWithRand.png?itok=bBE-WSzB
FreedomWorks' Member of the Month for September 2020: Sen. Rand Paul (R-Ky.)
FreedomWorks is proud to honor Sen. Rand Paul (R-Ky.) as our member of the month for September 2020. Senator Paul's voting record has been 98 percent in alignment with FreedomWorks' Congressional Scorecard over the ten years he has served as Kentucky's junior U.S. Senator. During that time, he has consistently been a source and fearless champion of some of the best, limited-government legislation across a wide spectrum of issues.
"https:\/\/www.freedomworks.org\/content\/key-vote-yes-lofgren-davidson-amendment-usa-freedom-act-reauthorization-act-hr-6172?social=facebook_share"
Key Vote
Key Vote YES on the Lofgren-Davidson Amendment to the USA FREEDOM Act Reauthorization Act, H.R. 6172
On behalf of FreedomWorks' activist community, I urge you to contact your representative and ask him or her to vote YES on the Lofgren/Davidson Amendment to H.R. 6172. Introduced, as the name suggests, by Reps. Zoe Lofgren (D-Calif.) and Warren Davidson (R-Ohio), this amendment would bar the government from accessing the internet search and browser history data of US persons under the Section 215 business records authority without a probable cause warrant.
"https:\/\/www.freedomworks.org\/content\/hope-horizon-fisa-reform?social=facebook_share"
https://fw-d7-freedomworks-org.s3.amazonaws.com/styles/thumbnail/s3/field/image/020218-01-Nunes-Trump-FBI-DOJ.jpeg?itok=1bns9kpb
Hope on the Horizon for FISA Reform
BY Daniel Savickas
On March 15, the authority for Section 215 of the USA PATRIOT Act formally expired. This is one of the provisions that spawned the Edward Snowden leaks back in 2013 and drew the American people's attention to the scope of abuses perpetrated by the intelligence community. Though some reforms have been made, many in Congress still stand by the program despite the revelations.
"https:\/\/www.freedomworks.org\/content\/key-vote-senate-amendments-usa-freedom-reauthorization-act-hr-6172?social=facebook_share"
Key Vote on Senate Amendments to the USA FREEDOM Reauthorization Act, H.R. 6172
On behalf of FreedomWorks' activist community, I urge you to contact your Senators and ask them to vote YES on civil liberties reform amendments (Lee-Leahy/Paul/Daines-Wyden) to the USA Freedom Reauthorization Act, H.R. 6172, and to vote NO on amendments that would substantially weaken these reforms (McConnell). The underlying bill, H.R. 6172, would reauthorize portions of the Foreign Intelligence Surveillance Act (FISA) that have been expired since March 15th of this year.
"https:\/\/www.freedomworks.org\/content\/contact-tracing-strict-guidelines-are-needed-prevent-civil-liberties-nightmare?social=facebook_share"
https://fw-d7-freedomworks-org.s3.amazonaws.com/styles/thumbnail/s3/field/image/FWBlogPostTracing.png?itok=Au1cQojG
Contact Tracing: Strict Guidelines Are Needed to Prevent a Civil Liberties Nightmare
As both the federal and states' governments wrestle with what policies to use in addressing the coronavirus outbreak moving into the summer and beyond, one potential solution that has been touted as a key component of getting life here back to something like normal is "contact tracing." In particular, governments and tech companies alike have become interested in digital solutions to track the spread of the virus in order to better contain it. However, depending upon how it is done, there are a number of concerns with how contact tracing - whether done in person or digitally - interacts with our basic rights to due process and civil liberties.
"https:\/\/www.freedomworks.org\/content\/we-all-stand-vulnerable-mike-lee-champions-real-reform-federal-governments-fisa-spying-power?social=facebook_share"
https://fw-d7-freedomworks-org.s3.amazonaws.com/styles/thumbnail/s3/field/image/Mike_Lee.png?itok=g6PV2HUD
"We All Stand Vulnerable": Mike Lee Champions Real Reform to the Federal Government's FISA Spying Power
Three provisions of the Foreign International Surveillance Act (FISA) will expire on Sunday. The expiration of these provisions isn't a surprise, but Congress has treated it as such because of its proclivity for governing by crisis. Another issue that has reverberated in the debate over the reauthorization of these provisions is the attempt by congressional leadership to shut out the voices of privacy hawks in Congress.
"https:\/\/www.freedomworks.org\/content\/freedomworks-statement-response-introduction-surveillance-reform-legislation?social=facebook_share"
FreedomWorks Statement in Response to Introduction of Surveillance Reform Legislation
WASHINGTON, D.C. -- In response to the introduction of the "Safeguarding Americans' Private Records Act," a bill that if enacted would institute sweeping reforms to the unconstitutional "USA PATRIOT Act," which is set to expire March 15, 2020, Jason Pye, FreedomWorks' Vice President of Legislative Affairs, commented:
"https:\/\/www.freedomworks.org\/content\/support-securing-americans-private-records-act-hr-5675-and-s-3242?social=facebook_share"
Support the Securing Americans' Private Records Act, H.R. 5675 and S. 3242
On behalf of our activist community, I urge you to contact your representative and senators and ask them to support and cosponsor the Safeguarding Americans' Private Records Act, H.R. 5675 and S. 3242. Introduced in the Senate by Senators Ron Wyden (D-Ore.) and Steve Daines (R-Mont.) and in the House by Reps. Zoe Lofgren (D-Calif.) and Warren Davidson (R-Ohio), this legislation would reform Section 215 of the USA PATRIOT Act and other aspects of surveillance under the Foreign Intelligence and Surveillance Act (FISA) in order to protect Americans' civil liberties and rights to due process and to increase transparency and oversight.
"https:\/\/www.freedomworks.org\/content\/abolish-foreign-intelligence-surveillance-court?social=facebook_share"
https://fw-d7-freedomworks-org.s3.amazonaws.com/styles/thumbnail/s3/field/image/FISA.png?itok=4WRb1uBN
Abolish the Foreign Intelligence Surveillance Court
As a former judge that has approved hundreds of search warrants, I strongly urge that Congress begin hearings to dissolve the Foreign Intelligence Surveillance Court (FISC) forthwith.
Default Sidebar Signup Form
Want more freedom? Become a member today!
FreedomWorks Foundation, American Legislative Exchange Council, Tea Party Patriots and Committee to Unleash Prosperity in partnership with a coalition of conservative organizations and prominent individuals, launched the Save Our Country Task Force.
2020 Platform & Activist Pledge
FreedomWorks is proud to roll out its 2020 policy platform for the Republican Party.
Stop the Socialist Green New Deal
Help stop the Democrats' socialist Green New Deal by signing the petition.


"Capital structure and stock returns: Evidence from an emerging market " by Khamis Al-Yahyaee, Toan Pham et al.
Al-Yahyaee, K., Pham, T. & Walter, T. (2013). Capital structure and stock returns: Evidence from an emerging market with unique financing arrangements. Applied Financial Economics, 23 (14), 1197-1203.
We investigate capital structure dynamics in a unique financing environment where (1) we avoid the complex tax environments faced by previous studies and where (2) firms rely primarily on bank loans rather than the public debt market.Consistent with recent empirical evidence, we find that stock returns are a first-order determinant of capital structure. Firms show some tendency to rebalance towards their target capital structure. However, the impact of stock returns dominates the effects of rebalancing. We also find that firm's stock returns induce some corporate issuing activity, and managers use issuing activity to counteract some of the mechanistic effects of stock returns.


text:
Welcome To Springfield, Massachusetts!
COVID-19: Keep Social Distancing & Wear A Mask -
Click Here For Covid-19 Vaccination Information
our city •
restaurants •
shopping •
events •
things to do •
city of firsts •
transportation •
World's Largest Pancake Breakfast
Feel like enjoying breakfast "al fresco?" I so, there is a seat waiting for you at the World's Largest Pancake Breakfast held outdoors along Main Street in Springfield, several minutes in walking distance, from its sponsor MGM Springfield, on Saturday, May 11, beginning at 8am until the last pancake is served at 11am. You don't have to bring your credit card to pay for breakfast (they don't take credit cards anyway), since the price for enjoying a hearty breakfast is $3 for adults and $1 for children. "We invite everyone to join us at our breakfast table and become part of our amazing community for a day," aid Judith A. Matt, president of the Spirit of Springfield, organizers of the annual feel-good event.
Springfield Pancake Breakfast History
There is quite a history to the popular breakfast event, which was first held on May 27, 1976, to celebrate both out nation's historic Bicentennial and Springfield's 340th birthday. But, pancake lovers would have to wait another 10 years until 1986 for another, when Springfield once again threw a giant party, this time around to celebrate its 350th anniversary. The breakfast table stretched some 2,500 feet along Main Street. When the last mouth was fed, about 24,000 servings of hot, fluffy, butter-topped, syrup-drenched hotcakes were dished out at what now would become an annual nosh fest in downtown Springfield.
Word of Springfield's claim that they had served the "World's Largest Pancake Breakfast" somehow reached Battle Creek, Michigan, the unofficial "cereal capital of the world." The news didn't go over well in the breakfast city, where officials there were not about to go down without a fight, albeit a friendly one. For years they challenged Springfield at the breakfast table with emphasis eventually changing from its length to the number of mouths fed. However, in just short of a decade , Battle Creek lost their "snap, crackle and pop" and their milk began to spoil as they refuse to release their numbers.
"We may have pulled the plug on the competition, but not on our cherished breakfast feast and gathering, which is truly a celebration of the region. In hindsight, it's probably a good thing the competition ended, even though it put Springfield on the map. First and foremost the breakfast has always been about community spirit and bringing people together in downtown Springfield to catch up with old friends as warmer Spring days put an end to winter hibernation," Matt said. Don't look for any cereal at the breakfast (there never was anyway). It's pancakes, pancakes and more pancakes served alongside some crunchy bacon, all washed down with some body-building milk, orange juice and your morning cup of coffee. Matt said it takes a "colossal recipe" to feed the thousands of people who turn out each Spring to partake in the long time tradition.
THE RECIPE FOR THE BUTTERMILK PANCAKES
3,450 pounds buttermilk flour
800 pounds eggs
350 pounds butter
Mix all ingredients. For best results, use 39 grills
Top with 4,700 pounds of butter, 450 gallons of freshly brewed coffee, 700 gallons of juice and 700 gallons of milk.
But there is an even more important "recipe" for the monumental task of putting on such a major undertaking as the World's Largest Pancake Breakfast. "Could you imagine if it was just our four person office trying to do everything on our own. As I'm always fond of telling people, it literally takes an army of dedicated volunteers and community-minded corporate contributors to make the breakfast a reality. That's the other part of the recipe." Matt said. It all begins the day before the Saturday morning breakfast, when a section of Springfield's Main Street is closed down to set up the now 1,800-foot-long breakfast table.
Long before the sun begins to rise over the horizon, the moonlight helps to guide a literal army of volunteers as hundreds of gallons of pancake batter are delivered downtown for cooking. Then, thousands of gallons of milk and juice arrive in refrigerated trucks, which also keep the batter cool until needed. As breakfast time nears and the sun begins to shine, the first groups to arrive are those pouring the coffee, juice and milk. Cookers and servers soon follow around 6:30am. Ticket sellers get to sleep longer, reporting for duty at 7am before the first plate of hot-off-the-griddle pancakes is served at 8am. In addition to the delicious food, the breakfast also serves up some entertainment to further life your spirits on two entertainment stages, which over the years have hosted a variety of talents, including dancing, aerobics, martial arts and more.
Welcome to Pioneer Valley
Welcome! Our city is amazing and so are the people in it. We share photos, events, news & more! Follow us to discover the city!
Find us on Facebook Find us on Twitter Find us on Pinterest Find us on Instagram Find us on Tumblr Find us on E-mail
Stay In-The-Know
Join thousands of others and get access to news, events and exclusive content!
Copyright © 2022 Springfield, MA.


text:
Q: create RsaCryptoserviceProvider again I'm working with RSACryptoServiceProvider and I looked at examples on some book and on the Internet. In all the examples, a new instance of the type is being created in every method it is being used.
Is it not recommended to create only one RSACryptoServiceProvider instance and reuse it in all methods?

A: No - create your own each time, otherwise, once you start using different keys everything is going to go horribly wrong, or if you try to iterate through and need to decrypt something else. Furthermore it has thread safety problems.

redpajama_set_name: RedPajamaStackExchange


text:
package org.jstache.internal;

public enum Token{
	LITERAL,VARIABLE,BLOCK,INVERTED,END,ESCAPE;
}

redpajama_set_name: RedPajamaGithub


text:
Q: HTML code flows off page? So I have this HTML code, it displays a twitter feed.. The only problem is, it flows off the page. I would like the feed to be 100% width and 600px height. I've fiddled with this for a while, and can make it work somewhat.. I think it needs to be one single code.
https://jsfiddle.net/33nw5jcd

A: Try this:
CSS
#a {
  height: 600px;
  background-color: #fff;
  width: 100%;
}
#a::after {
   content: 'hello this is the last node';
}

HTML

Note: Try keeping your script after the element with id a. It may be a issue where your script executes before your element is rendered.


U.S. and Japan service members participated in an annual sports day held at the Watjomthong School, during exercise Cobra Gold 19 at Phitsanulok, Kingdom of Thailand, Feb. 9, 2019. Cobra Gold is one of the largest theater security cooperation exercises in the Indo-Pacific and is an integral part of the U.S. commitment to strengthen engagement in the region. Cobra Gold 19 is the 38th iteration of this exercise, emphasizes coordination on civic action, such as humanitarian assistance and disaster relief, seeking to expand regional cooperation and collaboration in these vital areas.
This work, Cobra Gold 19 Annual Sports Day, by Cpl Jessica Valencia, identified by DVIDS, must comply with the restrictions shown on https://www.dvidshub.net/about/copyright.


We hear it all the time. Get mom an alarm device so she can get some help if she falls. But is this an over-reaction? Do you really need to wear an emergency alarm device all the time? What exactly is the likelihood that women will fall when they get older? A recent study gives the answer to this question and what can be done about it.
Researchers followed 78 elderly women and asked them to report on how often they fell. At the same time, the researchers measured the functional fitness of the women. What they discovered was really sobering for all of us as we get older. A full 32.4% of the women had suffered a fall. And, not surprisingly, the less functionally fit the women were, the more likely they were to fall. Here's how the authors of the study put it, "It is recommended that functional and resistance exercises are included in the preventive strategies for reducing risk factors for falls and its determinants in elderly women."
So should you get an alarm device?
Here's how you can decide. Lie down on the floor and then get up without using any form of assistance (you'll want to have someone present in case you can't get up). Second, see if you can sit down on a dining chair and then stand up again at least 10 times in a minute without using your arms. Lastly, walk heel to toe in bare feet on carpet for at least 10 feet.
If you can do all of these things, I don't believe you have to worry about the alarm (unless you just want the peace of mind). However if you can't, I would recommend two things. First, definitely get the alarm device. Second, get into a physical therapy program for strength and balance training. And stay in the program until you can accomplish these goals.
Bugs, bad bugs, and super bugs. By Daryl, 2015/04/23. http://www.zombiedisasterkits.com/main.html.


The boundaries which divide Life from Death are at best shadowy and vague. Who shall say where the one ends and where the other begins?
This post looks at the details of how a program running under Windows splits its command line into individual arguments.
We're only going to consider the two most common command line parsers– parse_cmdline and CommandLineToArgvW. The first, parse_cmdline, is part of the Microsoft CRT library initialization code and is called automatically at program startup to generate argv. It has both an ANSI and a Unicode version. CommandLineToArgvW is called explicitly by the programmer and has just a Unicode version. There is no standard function to un-parse a command line— that is, that takes a set of arguments and outputs a command line that re-generates the same set of arguments (something like ArgvToCommandLine) but I will give you a sample utility that does just that.
I already mentioned in my previous post that the command line is divided into arguments at whitespace boundaries by both parse_cmdline and CommandLineToArgvW. Conceptually the process is simple— the parser scans the command line string from left to right looking for sequences of one or more whitespace characters which it discards. The substrings that remain between these blocks of whitespace become the individual arguments. This simplistic description ignores for the time being the handling of special characters like double quote and does not take into account the special handling of the first argument. We will discuss these issues later.
Both parse_cmdline and CommandLineToArgvW define whitespace as just space (0×20) and horizontal tab (0×09).
Given that whitespace is afforded special treatment, the obvious question is how do you supply an argument that contains literal whitespace characters and prevent them from being interpreted as an argument separator? We've already seen the answer— by adding a double quote character ["] to the command line to switch the parser state from InterpretSpecialChars to IgnoreSpecialChars. This has to be done somewhere after the previous separator whitespace, and before the literal space. After encountering this double quote character (which is removed) the parser stops recognizing whitespace as an argument separator. A subsequent double quote character (also removed) re-enables this recognition. I will show later how this toggling behavior can be selectively overridden.
Quoting serves only to tell the parser to stop or restart interpreting whitespace as an argument separator. It does not determine where an argument begins or ends.
You do not need to enclose an entire argument containing spaces in double quotes— just make sure the recognition of whitespace as an argument separator is disabled (state is IgnoreSpecialChars) prior to any literal whitespace.
Since the double quote character is now given special meaning, you have a problem similar to the one you had for whitespace: how do you insert a literal double quote character without toggling the parser state?
This is where the concept of escaping comes in. Another special character is defined, the backslash ([\]), which means don't interpret the next character as special. If you want to include a literal double quote character, whether the state is InterpretSpecialChars or IgnoreSpecialChars, just precede it by a backslash: [\"]. The word escape reflects the idea that you are temporarily escaping from the normal flow of processing. The concept is subtly different from that of quoting because it's active for only a single character after which the state automatically switches back to normal processing. Double quotes on the other hand switch and latch the parser state until another double quote character is seen.
Once again this begs the question— how do you include a real escape character? It's beginning to feel like we're never going to get off this treadmill! As soon as we define a way to handle a special case, our so-called fix introduces a new special case. We turned whitespace as the special case into double quote as the special case, then double quote as the special case into backslash as the special case.
Luckily for us, the chain is broken at this point through a simple mechanism: allow the escape character to escape itself! Conceptually, it works a lot like string constants in source code— to include a literal backslash, just supply two backslashes: [first\\second] for [first\second]. No new special case is introduced.
In an ideal world that's all there would be to it. You would separate arguments with whitespace, protect literal whitespace by including a double quote character to enter IgnoreSpecialChars, place a backslash before any double quote that you don't want to change the parser state, and always double up (or self escape) backslashes that are not escaping something.
But we don't live in an ideal world. If you read the Microsoft documentation, you'll see a set of rules that complicate this ideal behavior. I'm going to explain what I think is the reasoning behind some of these rules with the hope that doing so will help you understand and remember them better.
Arguments are delimited by white space, which is either a space or a tab.
The caret character (^) is not recognized as an escape character or delimiter. The character is handled completely by the command-line parser in the operating system before being passed to the argv array in the program. potentially confusing mix of information about cmd.exe and the executable's processing of the command line. You should keep these separate in your mind!
Backslashes are interpreted literally, unless they immediately precede a double quotation mark.
If an odd number of backslashes is followed by a double quotation mark, one backslash is placed in the argv array for every pair of backslashes, and the double quotation mark is "escaped" by the remaining backslash, causing a literal double quotation mark (") to be placed in argv.
So just forget about quoted strings and embedded quotes.
The second double quote character, immediately before [you], does not end the first argument. This particular situation seems to causes conceptual difficulty for some people.
The double quote character simply causes the parser to leave IgnoreSpecialChars and re-enter InterpretSpecialChars (indicated by the change from red to green). Because there is no whitespace, the argument continues. But because the parser is now in InterpretSpecialChars, the space between [you] and [can't] does start a new argument. So does the space between [can't] and [do], as well as between [do] and [this!].
Finally, the third double quote character (before the comma) causes another transition into IgnoreSpecialChars, preventing any further arguments from being generated.
I believe that it was to avoid this proliferation of backslashes that Microsoft introduced the rule that backslashes are interpreted literally (except when they precede a double quote character).
But this rule results in an ambiguity: when the parser encounters [\"], is it an escaped double quote or a backslash followed by an un-escaped quote?
The strange-sounding rules for backslashes resolve the ambiguity. It might be more easily understood if you think of an escaped double quote as a single special compound character [\"]— call it an e-quote— instead of two separate characters and re-word the rule (in terms of creating the command line instead of parsing it) to read something like: Escape any literal backslashes that occur immediately prior to either a double quote or an e-quote character so they're not interpreted as an escape character.
The intent may have been to facilitate the quoting of paths generated or received by a script or executable (not a human)— i.e., to allow you to always unconditionally enclose paths in double quote characters without further escaping. But doing so fails if the path contains a trailing backslash because the backslash is interpreted as an escape, as we have seen.
(the current working directory on drive c:, not necessarily the root).
You can unconditionally remove trailing backslashes from paths, except for a root directory which must be explicitly handled as a special case.
So far we've covered that the command line is split on whitespace, that you can disable or re-enable (toggle) this splitting using a double quote character, and that you can mask the special toggling behavior of the double quote character by escaping it with a backslash.
We also covered the special rules Microsoft introduced for backslashes to avoid the need to escape backslashes in paths.
We're now going to delve into the specifics of the parsers themselves.
The following pseudocode is for both parse_cmdline and CommandLineToArgvW. It ignores the special handling of the first argument. Except for one very minor difference (highlighted), it is the same for both. Ironically, the one situation where the behavior is not the same involves the undocumented rule I alluded to when listing the Microsoft rules, above.
I have not rigorously verified the following pseudocode. If you have Visual Studio installed you can find the actual source code for parse_cmdline in the file stdargv.c in the CRT source directory.
One aspect of parse_cmdline that I do not cover is the expansion of wildcards (* and ?), a feature that must be compiled into the executable.
append the current character to the current argument.
Other than how the first argument is handled (discussed later), the only difference between parse_cmdline and CommandLineToArgvW is what the parser does after it encounters two double quote characters in a row when the state is IgnoreSpecialChars. Both parsers treat the first double quote character as a kind of escape for the second one and discard it (this is the undocumented rule). The second double quote causes CommandLineToArgvW to exit IgnoreSpecialChars, while parse_cmdline remains in IgnoreSpecialChars.
I've seen people try, unsuccessfully, to explain this example by the usual method of looking for pairs of double quote characters. But if you simply scan from left to right as I have shown, tracking the parser state, you'll find that the difference is due to the fact that CommandLineToArgvW exits then re-enters IgnoreSpecialChars repeatedly (every time it encounters two consecutive double quote characters), but parse_cmdline only does so one time.
This will be easier to visualize by seeing the diagrams.
Here, we again see the undocumented rule come into play— two double quote characters in a row while the state is IgnoreSpecialChars are interpreted as an escaped double quote character. Both parsers consume the first one and output the second one. But the difference is that for CommandLineToArgvW, there is a transition back to InterpretSpecialChars, while parse_cmdline remains in IgnoreSpecialChars.
Both parsers process the first argument differently than the remainder of the command line. There may be a good reason for this, but I can't think of one and I think it just causes additional confusion without providing much, if any benefit.
To compound the confusion, there is a much greater difference between the two parsers for the first argument than there is for the remainder of the command line.
I will discuss the two parsers separately.
You can enter and exit IgnoreSpecialChars as many times as you want, the same as when parsing the remainder of the command line. The double quote characters are removed.
If you trace it carefully you will find that the state is IgnoreSpecialChars when each of the two spaces is encountered.
CommandLineToArgvW processing of the first argument has some (at least to me) strange behavior, most-notably the way it sometimes accepts any character between 0×01 and 0×20 as whitespace.
The same as for parse_cmdline, if the first character of the command line is whitespace, an empty first argument is generated and the remainder of the command line is parsed normally. However, any character between 0×01 and 0×20, inclusive, is considered whitespace!
If the first character is a double quote then any non-zero character is accepted as part of the first argument (even 0×01 through 0×20) until another double quote or the end of the command line is encountered.
You can download a sample CommandLines.txt file containing all the sample command lines in this post. It can be used with the RunTest utility. The file will need to be renamed as CommandLines.txt before using it.
The last thing I need to cover is the behavior of cmd.exe and batch files. I hope to get this posted in the next week or so. See you next time!
This post presents a better way to understand the quoting and escaping of Windows command line arguments.
In order for you to appreciate why it's important to understand the things we're discussing, I'm going to start with a typical problem scenario that illustrates the kind of things that can go wrong.
We know from the Microsoft documentation for CreateProcess that command lines are split into individual arguments based on the location of spaces on the command line. We're told to enclose arguments that contain spaces between a pair of double quote characters. The typical description of how whitespace (space and tab) and quotes are dealt with while parsing a command line uses terms like double-quoted string and inside- or outside a quoted part. Even the Microsoft description of how a command line is parsed says a string surrounded by double quotation marks ("string") is interpreted as a single argument, regardless of white space contained within. A quoted string can be embedded in an argument.
We're led to believe that analyzing a command line is just a matter of looking for matching pairs of quote characters that enclose individual arguments or embedded quotes. It sounds simple enough and we're pretty sure we understand how it works. But still, occasionally we come across an example we can't explain, or (more likely), some command line breaks an existing program or script.
REM %1 is the root of the directory tree to process.
Once in a while the script neglects to process files in the starting directory. We discover that it fails whenever the user appends a trailing backslash to the specified directory. The backslash is interpreted by CreateDocs as an escape for the closing double quote. So instead of receiving [SomeDirectory\] in argv when processing ["SomeDirectory\" VERBOSE], it receives [SomeDirectory" VERBOSE]. If you don't already understand, you will later see why this is happening. It may seem a little mysterious that the FOR loop works correctly, but that's only because cmd.exe parses things differently than the executable does.
Although we now know what the problem is, we can't just tell our users not to append a trailing backslash. Someone will get it wrong! To fix this in CreateDocs would require some relatively complex logic. We could, for example, detect that argv contains a ["] at the end of a valid path (and the directory exists), possibly followed by [ VERBOSE].
We congratulate ourselves on our cleverness and we use the script successfully for months.
Then one day we change our build process. We want to be able to debug using binaries built on different development machines. Because the source code is installed in different places on different machines (something we don't want to change), the debugger can't always find the .pdb file because it's specified in the executable image with an absolute path. We could fix this various ways, but we decide to use a fixed drive letter in the build scripts and use subst to map the root of the source code tree, wherever it is on a particular machine, to the root of this drive.
Once again we start to notice that our script occasionally (but not always) fails.
The answer is that our script was smart, but not smart enough. The problem this time turns out to be caused by the fact that we are now specifying a root directory (ex. [x:\]). When the batch file removes the trailing backslash it generates [x:] which (for a root directory only) is not the same as with the backslash. The former specifies the default working directory while the latter is the root directory.
Most of the time our users open a dedicated console for running this tool and never do any other work there. In that case c:\ is the same as c:. But occasionally someone switches to the substed drive and goes to a subdirectory to do some other work. This makes c: different from c:\ and on those infrequent occasions the script fails.
We fix it by adding a special case to not remove the trailing backslash for the special case of a root directory explicitly specified.
This example was not intended to teach you what to do, but to give a reasonable example of how problems can creep in.
The above batch file still has some issues that I will leave unresolved for now (the "IF" statements may fail with certain strings containing double quote characters).
Before continuing, take a few moments and try to pick out the outer and the embedded quoted strings.
You may be surprised to learn that all of these are interpreted exactly the same way by the command line parser— as a single argument: [Argument With Spaces].
But how can all of these possibly generate the same argument? One of the quotes is not even closed!
The command line parser rules must be either inconsistent, incomprehensible, or just plain stupid.
But the problem isn't with the rules, but simply that the conventional way of looking at things is wrong. We need a different way of analyzing command lines that's easy to apply and always works.
We come now to a very important concept.
Double quote characters in a command line string have no relation to the boundaries between arguments and do not necessarily enclose arguments. Each individual double quote character by itself acts simply as a switch to enable or disable the recognition of space as a divider between arguments.
Attempting to find pairs of double quote characters that enclose meaningful chunks of text is possibly the biggest conceptual mistake that people make when looking at a complicated command line.
This point is extremely important (possibly the most important concept in this article) so I'm going to discuss it in depth before I move on to explain how a command line is received and processed by an executable program.
Each of the command line parsers we will consider (parse_cmdline, CommandLineToArgvW, and cmd.exe) has a set of characters that in some contexts it considers special (examples are whitespace, double quote, caret, and backslash) and which cause some action to be taken when one of them is encountered— such as beginning a new argument (and removing the special character).
In other contexts the parser treats these same characters like regular text. So at any given time the parser is in one of two states— recognizing (i.e., interpreting) special characters, or ignoring them.
In order to be explicit when referring to these two states in the text, I invented names for them. I call the first state InterpretSpecialChars and the second state IgnoreSpecialChars . They correspond to what some writers refer to as being outside or inside a double quoted string. I purposely avoided giving them names containing quote or quoting because doing so reinforces the misconception that double quote characters somehow delineate arguments. The colors shown are used later to show the parser state in images I created to demonstrate how example command lines are parsed.
I originally considered calling these InterpretWhitespace and IgnoreWhitespace, but I wanted to use the same state names when discussing cmd.exe where the state governs the interpretation of a different set of special characters, not whitespace.
The key to understanding any command line, no matter how complex, is to pay attention to which of these two states the parser is in at any given time and understanding what causes the state to change.
Let's examine the last example in the above list to see how it is parsed, character by character, from left to right. The special character that we will see either interpreted or ignored, depending on the parser state, is the space character.
You'll see that the parser state is IgnoreSpecialChars when both the spaces are read, so they do not cause a new argument to be started.
Each line below represents a single character read from the command line. The first column is the actual character read, followed by the parser state before processing the character, the action that was taken, and the value of the partial argument after processing the character.
Enabling or disabling the recognition of special characters (switching between InterpretSpecialChars and IgnoreSpecialChars) is done by strategically placing double quote characters at specific locations on the command line— wherever you want the state to change. This is under the control of the person who writes the command line. The act of placing double quote characters for this purpose is how I define the term quoting. It is not the delineation of a piece of text by enclosing it in a pair of double quote characters.
Quoting is the placement of individual double quote characters on the command line to control the switching between InterpretSpecialChars and IgnoreSpecialChars.
Since double quote characters work individually and not in pairs, there are no such concept as a dangling (unclosed) or mismatched quote as discussed by other writers. The command line parser simply ends in one or the other of the two states. If there is an even number of un-escaped double quote characters on the command line (we will define escape later) the parser ends in InterpretSpecialChars. If there is an odd number of un-escaped double quote characters it ends in IgnoreSpecialChars.
What would traditionally be called a quoted string (text between two double quote characters) can span multiple arguments or be contained completely within an argument— more evidence that it's hopeless to use pairs of double quote characters to find the arguments!
The seemingly arcane parse rules in the Microsoft documentation actually make sense once you understand that they don't directly tell you how the command line is split into arguments, but merely describe what causes the parser to switch state.
By training your mind to scan a command line from left to right like the parser does, instead of trying to pick out the quoted chunks, you will have little problem understanding or correctly generating even the most complicated command line.
We'll talk more about this when we go over the specifics of the parsers later.
The way cmd.exe interprets the command line is different and completely independent of how an executable program interprets the command line. You must separate your thinking about what cmd.exe does from your thinking about what an executable program does.
From a programmer's perspective, a Windows application written in C or C++ begins execution in main or WinMain and makes available (as function parameters) either an array of individual arguments (main's argv) or a single command line string (WinMain's lpCmdLine). Both types of application also have available an alternate source for the same set of arguments contained in argv— the global variables __argc and __argv. These are filled in before main or WinMain is called so many programmers believe that their programs receive the command line already split up into individual arguments, perhaps by Windows itself. But that is not the case.
A program receives a single command line string which the program itself, not the operating system, splits into individual arguments.
This string normally consists of the executable name followed by the actual arguments. I will have a lot more to say about this, but for now the important thing to remember is there is just one command line string.
All programs executed under Windows are ultimately started by CreateProcess (or variants such as CreateProcessAsUser). CreateProcess is a complex subject and I'm only going to look at two of the parameters it accepts: the executable name of the program to start (lpApplicationName) and the command line string (lpCommandLine), both of which are optional. Obviously, you have to tell Windows what program to run, so if the first parameter is not supplied (is NULL) then the program name must be given at the start of the command line string. By convention, even if you do specify the program name in the first parameter, you're supposed to repeat it at the beginning of the command line (if you supply one), but this is not enforced and leaving it out can cause problems. If you don't supply a command line Windows creates one containing just the program name.
A program does not know how its name was specified and most programs blindly assume the first argument is the program name.
To avoid problems caused by special handling of the first argument, or the assumption that it is the executable name, always include the program name at the beginning of any command line string you supply to CreateProcess.
The Microsoft documentation for CreateProcess implies that including the program name at the start of lpCommandLine is optional, something only "C programmers generally" do. After we show how the parsers give special treatment to the first argument, you will understand why I recommend that you always specify the executable name as the first thing on the command line. An interesting thing to note (which we won't pursue) is that if you specify the executable name in the first argument, the PATH is not searched, but if you specify NULL for the first argument, the PATH is used. For security reasons, Microsoft recommends that you always supply the first argument to CreateProcess and always enclose the executable name at the beginning of the command line string in quotes, though this is strictly only necessary if the path contains spaces.
Programs generally split their command line by treating a sequence of one or more whitespace characters (space, tab) as the separator between arguments. I say generally because a program is free to do whatever it wants and there are no standards to guide us. There is not even universal agreement on the set of characters that constitute whitespace.
A program can interpret its command line any way it wants. There is no method to ensure with 100 percent certainty that a given command line is correct or guarantee how it will be broken up into individual components.
This may sound hopeless, but fortunately there's only a small set of facilities for parsing the command line that most programs use. Once you understand these, you will understand how the vast majority of programs behave.
A program that links with the Microsoft C/C++ runtime library automatically splits the command line by calling a function named parse_cmdline and passes the result to main in argc and argv, or to WinMain through the global variables __argc and __argv.
A Windows GUI program can access the command line string (minus the program name) through the lpCmdLine argument to WinMain, and any program can access the full command line, including the program name (or whatever else was specified at the start of the command line when CreateProcess was called) by calling the aptly named GetCommandLine function. The program can then split the resulting string explicitly either by calling CommandLineToArgvW or a custom command line parser.
The splitting rule used by both these parsers is simple: splitting always occurs on a whitespace boundary, and only when the parser state is InterpretSpecialChars.
Almost all programs use the arguments generated by either parse_cmdline or CommandLineToArgvW, so we will focus on these.
In the next post I'll go into great detail about the algorithms used by parse_cmdline and CommandLineToArgvW to split a command line. We'll see some ugliness caused by a special Microsoft rule governing backslashes and we'll go over the special handling of the first argument. But first I'm going to give you some tools for looking at things (later I'll give you additional tools that may actually make your job easier).
Both of these are console programs.
The first utility is called DumpArgs and is used to see exactly how a given command line is split into arguments.
DumpArgs first displays the command that it received, both ANSI and Unicode in case there's a difference. Since it is a console app, it already has the command line split into arguments by parse_cmdline (in argv). The program retrieves the raw command line using GetCommandLine and splits it again using CommandLineToArgvW then outputs both sets of arguments for comparison.
Simply run it with any command line you want.
00000000:  64 00 75 00 6d 00 70 00 | 61 00 72 00 67 00 73 00   d.u.m.p. | a.r.g.s.
00000010:  20 00 20 00 22 00 46 00 | 69 00 72 00 73 00 74 00   _._.".F. | i.r.s.t.
00000020:  20 00 4e 00 6f 00 74 00 | 53 00 65 00 63 00 6f 00   _.N.o.t. | S.e.c.o.
00000030:  6e 00 64 00 22 00 20 00 | 53 00 65 00 63 00 6f 00   n.d."._. | S.e.c.o.
00000020:  6e 64 21 00                                         nd!.
I show the source code below, but you can download a zip archive containing a pre-built executable, source code, and a Visual Studio project.
Just unzip the archive to an empty directory and open the .sln file.
You can switch between ANSI and Unicode build by first clicking on the project in the Solution Explorer in Visual Studio and selecting Project->DumpArgs Properties. Under Configuration Properties->General you will see Character Set in the right pane. Select the one you want (counter-intuitively, you select Multi-Byte Character Set for an ANSI build).
// DumpArgs.cpp : Defines the entry point for the console application.
The next utility, RunTest, lets you drive DumpArgs with specific command lines without worrying about how cmd.exe first mangles the command line.
You specify each command line in a file named CommandLines.txt which must be a plain ANSI text file (not Unicode) in the current directory. DumpArgs must also be in the current directory.
Put each command line on a separate line in CommandLines.txt exactly as you want DumpArgs to receive it. Empty lines are ignored and so are lines starting with a semicolon (in the first column), so you can include comments.
RunTest reads the each command line from CommandLines.txt and starts DumpArgs using CreateProcess, passing it the specified command line in the lpCommandLine parameter. It waits up to 5 seconds for DumpArgs to Finish. RunTest explicitly specifies DumpArgs.exe in lpApplicationName and does not insert DumpArgs.exe at the beginning of lpCommandLine so that you can test what happens if you pass something other than the executable name as the first command line argument (for example, to see how the first argument is parsed differently).
As I did for DumpArgs, I again show the source code here and you can download a zip archive containing pre-built executables (for both DumpArgs and RunTest), source code and a Visual Studio project for RunTest and a sample CommandLines.txt file.
// RunTest.cpp : Defines the entry point for the console application.
*    - Writes the next line into Buffer and returns true if more data, false if no data or error.
*    - Trusts that Buffer and BufSize are both valid.
*    - Always NULL terminates Buffer, unless Buffer is 0 bytes.
*    - Works only with ANSI file (not Unicode).
*    - Silently truncates line if Buffer too small (but consumes entire line).
Now that you understand how a command line is given to a program, and have some tools for looking at things, we can begin next time to look closely at exactly how a command is parsed.
This post covers everything you need to know about how to create and interpret command lines for Windows programs.
I'll go over how to quote and escape arguments including those that contain spaces, embedded quotes and special characters. I'll explain how the command line is received and interpreted. I'll point out specific situations where problems are likely to occur and give you some tools and techniques to ensure your programs always receive exactly the arguments you intended.
Understanding the command line is important, especially when you don't have control over your program's input. Arguments could come from a database or a directory listing, or be entered by a user of your software. The information here will help you correctly handle situations you didn't anticipate and avoid having a program or script intermittently fail. I will point out the most common mistakes and explain what to do in those rare situations where there isn't a clean solution.
Some of the information here comes from other sources as well as my own testing. I present a new way to think about the command line that I hope will eliminate some confusion about how double quote characters are interpreted by the command line parser.
I'll also provide some free tools to help you do things the right way.
If you're in a hurry you can jump to a summary or go see what others have to say on the subject.
The following will help you understand this series better.
I use the term "literal" to describe any text that is intended to be passed unchanged to an application. This is in contrast to special characters such as whitespace, used to separate arguments, or double quote ["] and escape [\, ^] meta characters that control parsing but are not passed to the application.
None of my sample text contains literal square brackets, so they always indicate the content of a literal string or a single character. Any quote character (single or double) or backslash that appears inside square brackets is always part of the sample text.
This series of articles was written from the perspective of a C/C++ Windows programmer so there may be a noticible bias in the presentation. The information applies mainly to programs developed with Microsoft development tools (Visual Studio 2010) and which use the Microsoft standard runtime library.


Two separate fans and evaporators help to maintain optimal humidity and freshness and ensures there are no transfer of odours between the fridge and freezer.
Brighter, more durable and more energy efficient than a standard bulb, the LED lighting will make it easy to find your food and drink.
Will keep the fridge freezer running in the most energy efficiently way, when you are away for a long period of time.
The top door hinges are covered with plastic fittings, hiding the metal and providing a nicer look to your kitchen.