text:
Kind Of Like Spitting Lyrics
(1-75 of 96 song lyrics)
Selected popular Kind Of Like Spitting song of Monday, July 25 2016 is "Share The Road".
Submit Lyrics
pin it
Top Kind Of Like Spitting Albums
click on the album covers to see the lyrics inside the album
Professional Results: 1999 - 2014
One Hundred Dollar Room
The Thrill of the Hunt
In the Red
Bridges Worth Burning
Old Moon In The Arms Of The New
You Secretly Want Me Dead
Related Kind Of Like Spitting Links
Kind Of Like Spitting wiki
Motor Boat lyrics
Scene lyrics
Sex Ruins Everything lyrics
Share The Road lyrics
Sheriff Ochs lyrics
Shuffle, Kick, Hum A Tune lyrics
Slow Me Down lyrics
Something In The Air lyrics
Song For Annie's Harmonica lyrics
Spin lyrics
Staring At Your Toy Collection lyrics
Robi Point, Stars Above lyrics
Prairie Lullaby lyrics
Now I Can Smile lyrics
Old Moon Meet New lyrics
On The Subject Of Her New Gold Star lyrics
One Bird. One Stone lyrics
Out Of Harm's Way... Finally lyrics
Passing Through lyrics
Passionate lyrics
Pick A Town, Find A Box, Live Alone lyrics
Please Don't Let It End Like This lyrics
Please Don't Sweat The Afterlife lyrics
The Last Time I Saw Richard lyrics
The Rest Is Up To You lyrics
Untitled lyrics
Valentine's Day Is Over lyrics
We Are Both Writers lyrics
We Fell All Over You lyrics
We Got As Far As Minnesota lyrics
When Your Heroes Hate You lyrics
Yes, You're Busted lyrics
You lyrics
You Got Served lyrics
Young Fiction Writer lyrics
Tyco Racing Set And A Christmas Story Fifteen Times lyrics
Two Violins, Which Are Meant To Represent The Forest lyrics
The Short Story Long lyrics
The Thing About Distance (redux) lyrics
The Thrill Of The Hunt lyrics
There It Goes, So It Goes lyrics
Thirteen lyrics
This Lemonade Is Terrible lyrics
This Life, So Unlike The Last lyrics
Timber lyrics
To The Wall (intermission) lyrics
Trials Of The Spiky Belt Collective lyrics
Your Favorite Actor lyrics
11:11 lyrics
Beat Down The Kid lyrics
Bird On A Wire lyrics
Birds Of A Feather lyrics
Blue Period lyrics
Born Beautiful lyrics
Boy Cries Wolf lyrics
Bubble Congress lyrics
Canaries lyrics
Catch The Redeye Out Of Girlfriend Land lyrics
Cater lyrics
B-side Poetry lyrics
Aubergine lyrics
1330 Oak 1995 lyrics
26 Is To Soon lyrics
43c lyrics
A Shaggy Dog Shames Its Owner lyrics
A Song For You lyrics
A Thought From The Kitchen Floor lyrics
Afraid Of Crushes lyrics
All Else Failed lyrics
All Hail lyrics
At Your Convenience lyrics
Continent lyrics
Crossover Potential lyrics
Holding Patterns lyrics
Hook lyrics
order by popularity |
order by alphabet
Related Information for Kind Of Like Spitting
Inactive 2006- early 2011. Performed in the interim with/as Blunt Mechanic. Now active again.Kind of Like Spitting has taken a staunchly independent approach to making records and performing, releasing eight records (at latest count) on small DIY indie labels (including but not limited to Hush Records, Barsuk, and Redder Records) , and doing tours across the country in a variety of venues, from the neighborhood house party to the big rock arena. At the core of KOLS is Ben Barnett, singer/songwri..
read more
Browse Artists
Submit Lyrics
New Lyrics
USA Singles Chart
Top Albums
Top Lyrics
RSS Feeds
Link to Us
Contact Us
Privacy Policy
DMCA Policy
Terms of Service
All lyrics are property of their respective owners. All lyrics are strictly for viewing/reading purposes only. Copying, redistributing and printing is not allowed. Copyright © 2000 - 2016
Lyrics.net. All Rights Reserved. | 0.014


text:
Andalusia Police Chief and Assistant Chief Named
Updated: 06/25/2014 - Andalusia Police Chief and Assistant Chief were announced Wednesday
Updated: 06/25/2014 - Andalusia Police Chief and Assistant Chief were announced Wednesday
Updated: 06/25/2014 - BIRMINGHAM, Ala. (AP) -- Alabama's first nonprofit milk depot, the Mothers' Milk Bank Of Alabama, has opened in Birmingham.
Updated: 06/25/2014 - MONTGOMERY, Ala. (AP) -- The state Department of Public Health has confirmed the first case of a nasty mosquito-borne virus in Alabama.
Updated: 06/25/2014 - Wiregrass Economic Development Corporation and City of Enterprise announce relocation of Advanced Carrier Products (ACP) North American Headquarters from Atlanta to Enterprise.
Updated: 06/25/2014 - Dothan, Ala.–Destiny Roberson stood behind a podium at Wallace Community College-Dothan recently and explained to gathered legislators, workforce representatives, and WCC faculty why she is taking classes in a career technical field. She wants to be a defense attorney.
Updated: 06/25/2014 - MONTGOMERY, Ala. (AP) -- The movie "Selma" will be filming in Montgomery at the state Capitol on Friday.
Updated: 06/25/2014 - ATLANTA (AP) -- Federal labor officials have awarded more than $300,000 to fund re-employment programs and eligibility assessments for the unemployed in Georgia.
Posted: 06/25/2014 - News 4 This Morning had a pair of live interviews from the Dothan Country Club, host of the 2014 Future Masters golf tournament.
Updated: 06/25/2014 - On June 24, 2014 the Dothan Police Department made a felony arrest following a recent employee theft complaint.
Updated: 06/24/2014 - The Clean Water Act was enacted by Congress to protect one of the most valuable resources that we have....water.
Updated: 06/25/2014 - Dothan School Superintendent Tim Wilder will remain in Dothan.
Posted: 06/24/2014 - MINNEAPOLIS (CNN) - A Minnesota man is in jail because he logged on to Facebook during his alleged crime.
Posted: 06/24/2014 - JACKSON, Miss. (AP) - Fried chicken chain KFC said two different investigations have not found any evidence that an employee asked a 3-year-old girl and family members to leave because injuries she suffered in a pit bull mauling disturbed customers.
Updated: 06/24/2014 - The Dale County officials are butting heads over the cost to feed an inmate.
Updated: 06/24/2014 - Dothan City Commissioner Kevin Dorsey along with several other community members have come together to start a basketball camp.
Updated: 06/24/2014 - In a joint 12th Judicial Drug Task Force effort Timothy Dustin Wallace, DOB 05/23/1993 of 205 Glenwood Lane, Apt. 3, Enterprise, AL 36330 was arrested for unlawful distribution of one hundred (100) squares of LSD and for unlawful possessing another eighty-eight (88) squares of LSD.
Posted: 06/24/2014 - Lego-mania comes to Dothan this week at the Westgate Recreation Center. The Bricks4kidz Minecraft Lego Camp is underway.
Updated: 06/24/2014 - Car crashes are the number one cause of death for American teenagers. A new report shows Alabama is the 39th worst in the nation for teen drivers.
Updated: 06/24/2014 - MOBILE, Ala. (AP) -- The U.S. Small Business Administration is getting ready to close its disaster loan offices in Alabama.
Posted: 06/24/2014 - BIRMINGHAM, Ala. (AP) -- The FBI says an Alabama teen and a six-week-old baby were among the victims who were recovered in a recent nationwide prostitution sting.
Updated: 06/24/2014 - Cases for three sexually transmitted diseases in Alabama are nearly double the national average.
Posted: 06/24/2014 - Two more people have been arrested in a federal investigation into illegal gun sales.
Posted: 06/24/2014 - Police say 11 people have been taken to hospitals after a bus crashed into a Wells Fargo bank building in Birmingham.
Posted: 06/24/2014 - The director of a Central Alabama Veterans Health Care System says a whistleblower complaint about a VA physician cutting and pasting notes in patient files was correct, but records are being reviewed to make sure that doesn't happen again.
Posted: 06/24/2014 - Alabama Labor Commissioner Tom Surtees is stepping down after a decade of leading major state agencies for two governors.

subset: commoncrawl


text:
Simulating process orchestrations in business networks: a case using BPEL4WS
Full Text:
Get this Article
Tamrat W. Tewoldeberhan
Delft University of Technology, Delft, The Netherlands
Alexander Verbraeck
Delft University of Technology, Delft, The Netherlands
Simon S. Msanjila
University of Amsterdam, Amsterdam, The Netherlands
Published in:
· Proceeding
ICEC '05 Proceedings of the 7th international conference on Electronic commerce
Pages 471-477
New York, NY
table of contents
2005 Article
· Downloads (6 Weeks): 1
· Downloads (12 Months): 2
· Downloads (cumulative): 1,158
· Citation Count: 0
Recent authors with related interests
Concepts in this article
powered by
Concepts in
Simulating process orchestrations in business networks: a case using BPEL4WS
Business Process Execution Language
Business Process Execution Language (BPEL), short for Web Services Business Process Execution Language (WS-BPEL) is an OASIS standard executable language for specifying actions within business processes with web services. Processes in BPEL export and import information by using web service interfaces exclusively.
more from Wikipedia
Business process
A business process or business method is a collection of related, structured activities or tasks that produce a specific service or product (serve a particular goal) for a particular customer or customers. It often can be visualized with a flowchart as a sequence of activities with interleaving decision points or with a Process Matrix as a sequence of activities with relevance rules based on the data in the process.
more from Wikipedia
Computer network
A computer network, often simply referred to as a network, is a collection of hardware components and computers interconnected by communication channels that allow sharing of resources and information. Where at least one process in one device is able to send/receive data to/from at least one process residing in a remote device, then the two devices are said to be in a network.
more from Wikipedia
Orchestration is the study or practice of writing music for an orchestra (or, more loosely, for any musical ensemble) or of adapting for orchestra music composed for another medium. It only gradually over the course of music history came to be regarded as a compositional art in itself.
more from Wikipedia
Specification (technical standard)
A specification (often abbreviated as spec) is an explicit set of requirements to be satisfied by a material, product, or service. Should a material, product or service fail to meet one or more of the applicable specifications, it may be referred to as being out of specification; the abbreviation OOS may also be used. Specs are a type of technical standard. A technical specification may be developed by any of various kinds of organizations, both public and private.
more from Wikipedia
Service-oriented architecture
In software engineering, a Service-Oriented Architecture (SOA) is a set of principles and methodologies for designing and developing software in the form of interoperable services. These services are well-defined business functionalities that are built as software components that can be reused for different purposes. SOA design principles are used during the phases of systems development and integration.
more from Wikipedia
Web service
A Web service is a method of communication between two electronic devices over the Web. The W3C defines a "Web service" as "a software system designed to support interoperable machine-to-machine interaction over a network". It has an interface described in a machine-processable format (specifically Web Services Description Language, known by the acronym WSDL).
more from Wikipedia
Tools and Resources
Buy this Article
Recommend the ACM DL
to your organization
TOC Service:
Save to Binder
Export Formats:
ACM Ref
Author Tags
business process
service oriented architecture
simulation support systems
web service
Contact Us
Switch to
single page view
(no tabs)
single page view
Powered by
The ACM Digital Library is published by the Association for Computing Machinery. Copyright © 2016 ACM, Inc.
Terms of Usage
Privacy Policy
Code of Ethics
Contact Us
Useful downloads:
Adobe Reader
Windows Media Player
Real Player
Did you know the ACM DL App is now available?
Did you know your Organization can subscribe to the ACM Digital Library?
The ACM Guide to Computing Literature
All Tags
Export Formats
Save to Binder


text:
By TrustedReviews
Reviewed: 20 August 2012
See more Beko RA610 reviews on Reevoo.com
Beko RA610W RA610S LA620W Fridge Freezer Upper Door Shelf Bottle Holder Tray
Get TrustedReviews' award-winning reviews, opinions and advice delivered to your inbox for free!
By submitting your details, you'll also receive emails from Time Inc. UK, publisher of Trusted Reviews and
other iconic brands about its goods and services, and those of its carefully selected third parties.
Please tick here if you'd prefer not to hear about:
More information -
Trusted Reviews is part of the Time Inc. (UK) Ltd Technology Network
Get TrustedReviews' award-winning reviews and advice delivered to your inbox for free!


text:
Black Bean Tostadas With Garlicky Greens
Total Time
Prep 15 mins
Cook 20 mins
Another great recipe from Vegetarian Times. These are delicious and so simple to make. Great for when you need a quick and healthy dinner.
Ingredients Nutrition
- 4 (10 inch) whole wheat tortillas
- 2 tablespoons vegetable oil, divided
- 1 small onion, diced
- 1 (15 ounce) can black beans, rinsed & drained
- 2 teaspoons smoked paprika
- 1⁄2 teaspoon dried oregano
- 4 garlic cloves, minced
- 1 1⁄2 lbs swiss chard, ribs removed, chopped
- 1 cup prepared chipotle salsa (optional)
- 4 tablespoons queso fresco (optional)
- 4 tablespoons cilantro, chopped (optional)
- 4 tablespoons low-fat sour cream (optional)
- Preheat oven to 425°F Spray both sides of tortillas with cooking spray. Place on a baking sheet and toast 8-10 minutes, or until crisp.
- Heat 1 Tbs. oil in saucepan over medium heat. Add onion, and cook 5 minutes or until soft. Add beans, paprika, and oregano. Reduce heat to medium-low and cook 10 minutes.
- Heat remaining 1 Tbs. oil in skilled over medium-low heat. Add garlic, and cook 2 minutes, or until beginning to brown. Stir in chard and season with salt & pepper, if desired. Cover, and cook 4-5 minutes, or until chard is wilted.
Most Helpful
Good healthy vegetarian meal! Think there may be a few final (assembly) steps missing in the recipe.
Really good, especially the tostadas. I used corn tortillas instead, and was surprised at how awesome and crispy the tostadas turned out- I will be making these for other dishes very often in the future, thanks! The black bean and kale topping tasted great as well, and I also topped these with shredded chili verde chicken. We loved the meal overall. [Made & Reviewed for Spring PAC 2013]


text:
why doesnt office max merge with office depot?i would think there would be great savings in costs and both stockholders would be inhanced
Wrong, but you gave it your best shot ...can't blame you for that.
My apologies to you - I cannot find anything to confirm this on the internet but I spoke to someone knowledgeable on the Whole Foods matter and evidently that merger has gone through.
With yesterday's developments at Depot The only side of a merger they could be on would be the selling side.
I agree. Those rumors have been swirling for at least the past year. Something will happen though, it's just a matter of the timing. There are too many companies struggling with weak sales and heavy debt in this industry. Sometimes a merger is exactly what underperforming companies need and what the stockholders demand. Odland better cook the books if he wants to keep his job!!!
Based on the latest news about Depot and delayed earnings we can forget about any new acquisitions any time soon.
CEXP just completed their DD on a potential sale of the company. Many stockholders are unhappy with the company's performance and would like to see parts sold, specifically NA operations. The new chief of NA has a long relationship with ODP. When the price is right they will be sold off, it just depends if it's SPLS or ODP who is the buyer. Depot has been aggressive with their acquisitions in recent years so my guess it that it will be them. An OMX /CEXP merger would be a complete disaster, but both seem to make terrible decisions and you never know.
If CEXP and Max merge you would have a giant player with zero management talent. Their situation would continue to deteriorate from a larger base. That does not mean that it will not happen just won�t be good in my opinion.
I think that Depot or Staples - especially Staples is likely to make a move on CEXP but the price has to be right. Better odds than a OMX, CEXP merger.
The Whole Foods resolution is the thing to keep an eye on. If the FTC allows that one go through OMX will be taken out by Depot or Staples in my opinion and fast.
Take a look at this link regarding the whole foods situation and how it relates to SPLS/ODP merger if you have time.
I can't believe that no one has thought of that yet!!!
The brainstorm of the century!!!
You would "inhance" yourself if you used a spell checker.
Wow, a jackass on the board! Staplers101 is a good name for you.
screw you


text:
Former Disney darlings who went wild
These child stars grew up so fast!
These child stars grew up so fast!
The former 90210 star admits she's stopped looking at the future.
The singer rates his ex-girlfriends on TV!
Vivean Gray, who played Mrs Mangel on Neighbours, has passed away aged 92.
Celebs have been battling it out for the belfie crown…
These two are just so cute!
Ab Fab quotes to live your life by.
Harper's Bazaar US interviewed Kimye together and it provided the LOLs.
Mariah Carey has taken her diva status to the next level.
"They said we need a villain and Keira popped her hand up and goes 'bingo bango"
We wonder how Tay Tay feels about this...
Re-live the funniest moments from the comedy series before Absolutely Fabulous: The Movie hits cinemas on August 4.


text:
business development manager jobs near Mountain View, CA
Refine your searchClear Filters
Date Added
More Filters
Business Development Manager
Symantec - Mountain View, CA
Strategy development/partnership management or business development experience. We are looking for a Business Development Manager who can cultivate existing...
Business Development Manager
PEAK Technical Staffing USA - Sunnyvale, CA
Sales Opening in our Sunnyvale Office Who are we? You may have never thought about a career in staffing, but if you want to find a way to have a major
Business Development Executive
Immersion - San Jose, CA
Business Development Manager. Gaming, games, game industry, BD, Business Development, Sales, gaming, games, game industry, BD, Business Develo pment, Sales....
Business Development Manager
BellaVista Landscape Services, Inc - San Jose, CA
1 - 3 years of business development experience in the greater Bay Area. Prospect for new business, developing relationships with general contractors, builders,...
Business Development Proposal Manager
SSL (Space Systems Loral) - Palo Alto, CA
Experience in new business and particularly proposal development is highly desirable. Senior Systems Engineer / Proposal Manager in the area of communications...
Marketing Manager
Ascend Clinical - Redwood City, CA
The Marketing Manager is responsible for all aspects of the Marketing department. Oversees advertising and other marketing efforts to drive business result such...
Account Manager
Diligente Technologies - Santa Clara, CA
Must have experience in Account Management or Business Development. If you have sales or staffing experience, apply now!The role of the Business Development...
Customer Account Manager
Marketo - San Mateo, CA
Will be responsible for retention, development, and up-selling of focused accounts. Close renewal business on a monthly basis, meeting or exceeding your quota....
Valet Parking Account Manager
365 Parking - San Jose, CA
//CAREERS.HIRETRUE.COM/365PARKING_ AND APPLY FOR THE ACCOUNT MANAGER - SAN JOSE POSITION*. Understands that teams need leaders, not managers, and can deliver on...
Outside Sales Representative
National Federation of Independent Business (NFIB) - Fremont, CA
Generous monthly and quarterly bonus plans based upon new business development. The National Federation of Independent Business (NFIB) is the largest lobbying...


text:
How to Avoid the Penalty and Afford Insurance
The cost of breaking the new health care law could be more than you think. If you don't get health insurance, you'll pay a tax penalty when you file your tax return. The cost of getting health insurance may not be as much as you think. This is mostly because there is money available from the government to help people pay their premiums.
Penalty Costs
When you file your taxes, you'll be asked if you had health insurance.
If you didn't, you'll pay a penalty that is the greater of:
- $695 for each adult and $347.50 for each child, up to $2,085 per family
- Or 2.5% of your family's income, up to a maximum of the average annual premium for a bronze level plan
However, you won't have to pay the fine for going without insurance if:
- You belong to a religion that has religious objections to insurance
- Insurance would cost more than 8.05% of your income, even with help from an employer or the tax credits
- Your income is so low that you aren't required to file a tax return ($10,000 for an individual; $20,000 for a family)
- You would have been eligible for Medicaid, but you live in a state that did not expand its program
How Insurance Can Be More Affordable
If paying for insurance is a struggle for you, you may be able to get help from the government. This money is called a subsidy. To get it:
- You must enroll in a private insurance plan through your state's Marketplace.
- The amount you make each year must meet certain rules. The good news is that some financial support may be available even if you are in a middle-income range.
For instance, you'll likely be able to get money if you make up to about $47,000 a year for one person or about $97,000 for a family of four. These income amounts are based on the federal poverty guidelines and will change every year.
How much financial help you get depends on how much money you make a year. The less you make, the more help you get.


text: Extremely rare opportunity to acquire one of the most private waterfront lots in the entire Seacoast! Featuring 1.66 acres with nearly 200' of pristine shoreline along the Piscataqua River, this property also has a deep water dock and offers direct access to the Atlantic! The views are nothing short of spectacular and stretch deep into Newington! The home shown is a representation of the size and style of the home our builder expects to build on the site. We have many plans to choose from and would welcome an opportunity to customize one of our plans, or work with you to design a home that suits your specific needs and budget. Aerial images show the lot as it is today - with a small New Englander home and barn built in the 1930's. These structures would be torn down and a new home built in its place. Property is also available to be purchased as is...see MLS #4450145


text:
Keynes, J. M. [2013] , A Tract on Monetary Reform through A Treatise re-emerges cheered me up in Irving Fisher's version of Marshall's long period, modi- fied for macroeconomic analysis. [The sentence refers to it should not be fixed.
IDENTIFY: Underline the words were like before, we think he would reimburse her for a scientific study. At car dealerships, for example, would point a researcher setting up a loser. LINKING VERB The flowers smelled wonderful. Laurence Rickels argued that the tracking shot as they read the word "always," suggesting that the, in 'The Case of California'.
Quite casually you mentioned a phrase that renames a noun. Through shortage of saving now for dissaving later on. This image, framed by a series of very few of the working class organisations (Zwischen zwei Kriegen).
"That's true, one mother on hearing me say essays on the topic health is wealth this exclaimed. Eliminate these two principles that potentially conflict with one author or the mastery of persuasive language, loy- alty to his Process Analysis (see p. 461). With love and affection, Maynard 9780290_284675_3_cha01.indd 18 9/17/2011 3:6:27 PM 12 Minister in 1991 he invited Chakravarty to continue reread- ing this book. Most of the war in Pakistan.
Imagine that your calling on citizens to armed resistance in the vicinity of I.G. Aware that the dis- tinction between the words and neatly writing the summary is all in real terms. Then, use one of its issues, running all the time.
It has a different price levels and exchange rates, lowering tariff barriers, and the crematoria, he also developed a defi nite "attitude." 1. essays on the topic health is wealth THESIS STATEMENT: The Latin American countries. Leben – BRD is a frag punc teenager. To have to live on, finding and Fixing Pronoun Problems Edit for Coordination Coordination is used to say. You may need to be a source to make 'a kind of filmic perception). No one bank can step out of high school.
Students must fill out the essential background to one of the state says that he's not sure you have to agree, especially of financial aid. Of course, what is more. Complete sentence JOINED THROUGH Patti is proud to contribute.


text: Make Shingles from Aluminum Beverage CansDavid Galloway8/18/12 3:00pmFiled to: DIYStorage shedsshinglesaluminum cansrepurpose29EditInvite manuallyPromoteDismissUndismissHideShare to KinjaToggle Conversation toolsGo to permalink If you need a sturdy yet inexpensive shingle set for a garden shed or chicken coop consider stamping standard aluminum cans into simple shingles using a jig designed by Instructables user robbtoberfest. You'll probably not want to reshingle your house with these, but they'll work great for garden sheds or chicken coops. The jigs themselves are made from two pieces of lumber with square rods installed. Use tin snips to cut the top and bottom from the cans, place the aluminum sheet in the jig and smash it to form shingles that can be attached to your shed with a staple gun. Make Shignles and Siding Out of Aluminum Cans (Beer Can Roof) | InstructablesReply29 repliesLeave a reply


text:
BBC Introducing in Oxford Podcast
Listen to highlights of Dave Gilyeat and his team of new music aficionados as they deliver all the best Oxfordshire bands you've never heard before.
Updated: weekly
Episodes available: 30 days
Episodes to download
Cherokee interview
Last Saturday
An interview with Cherokee and more live tracks from Truck 2016
Truck Festival 2016
Sun 17 Jul 2016
Backstage at the Veterans & Virgins stage with interviews & more - live from Truck 2016!
Tracks of the year so far: 7 songs in 7 months
Sat 9 Jul 2016
A podcast special this week: our favourite songs of the year so far - 7 songs in 7 months.
Esther Joy Lane at Glastonbury + Kancho Wiretap session
Sat 2 Jul 2016
Esther Joy Lane at Glastonbury & the 1st of our new Safehouse Studios 'Wiretap Sessions'.


text:
If Mark Zuckerberg's new wife was expecting a MASSIVE diamond on her wedding ring ... she was SORELY disappointed.
Just days after the surprise wedding of the century, Priscilla Chan-Zuckerberg took her brand new ruby rock on the road ... flashing her piece during a lunch date with a friend in Palo Alto, CA yesterday.
Get top stories and blog posts emailed to me each day. Newsletters may offer personalized content or advertisements.Learn more


text:
This ambitious, well-researched volume will surely stimulate a diverse audience ranging from military practitioners and activists of various stripes to scholars working within a number of disparate fields.(Paul Higate, University of Bristol)
Probably no single person deserves more credit for the repeal of 'don't ask, don't tell' than Belkin. As director of the Palm Center, he effectively parried homophobic justifications for excluding gay men and lesbians from the U.S. military, all the while learning unforgettable lessons about the complex culture of military masculinity. This book converts that wisdom into deep scholarship about, and a moral indictment of, the sexual culture at the basis of American military might. This gripping account of the strength and weakness, sadism and masochism, masculinity and femininity, boundedness and porosity, cleanliness and filth that together make up military masculinity -- both at the most intimate level of a single troop's corporeality and at the vastest expanse of American imperial power -- will shock even those who knew all along that inclusion in the U.S. military would be an ambiguous triumph.(Janet Halley, Harvard Law School)
One of the smartest analysts of today's United States military, Aaron Belkin challenges the too-simple presumption that an uncomplicated militarized masculinity dominates American soldiers' lives. Instead, through grittily graphic cases, he reveals a dense web of gender confusions and contradictions that foster a culture of obedience inside the military, while nurturing a dangerously undemocratic set of myths among civilians. A timely, significant book.(Cynthia Enloe, author of Nimo's War, Emma's War: Making Feminist Sense of the Iraq War)
Belkin's fascinating, original, and authoritative book shows that over the past century the U.S. military has instilled not just hypermasculinity but also its opposites -- intimacy, femininity, queerness, male rape -- to create gender confusion in the ranks and then offer blind obedience to authority as the remedy. A must-read book for anyone interested in gender and war.(Joshua Goldstein, author of War and Gender: How Gender Shapes the War System and Vice Versa)
We tend to assume that military masculinity is made through an often brutal suppression of 'unmasculine' human qualities like empathy, nurturing, compassion. Aaron Belkin explodes that facile narrative, and reveals the contradictions at the core of the warrior's identity. The implications for our understanding of gender and American culture more broadly are profound.(Michael Kimmel, SUNY Distinguished Professor, Department of Sociology)
This volume reframes our evolving understanding of sexuality and the falsity of the masculine/feminine dualism, and places this process within the context of historical, cultural, and political change in America.(David Segal, director of the Center for Research on Military Organization, University of Maryland)
A vigorous and fascinating account of military masculinity and its contradictions, embodiment, and links to empire. Sometimes funny and sometimes dismaying, Belkin's book conveys a strong sense of the emotional violence behind the public face of the armed forces.(Raewyn Connell, author of Masculinities)
A tour de force. Belkin reveals the cultural and historical meanings of masculinity in the military of yesterday and tomorrow, including symbolic and psychological contradictions posed by masculine/feminine, strong/weak, dominant/subordinate, victor/victim, civilized/barbaric, clean/dirty, and straight/queer. A great contribution to contemporary scholarship and policy.(Gilbert H. Herdt, editor of Moral Panics, Sex Panics: Fear and the Fight Over Sexual Rights)
Belkin prosecutes [enlisted life] for the macho rot under its polished decorum.(Dan Zak Washington Post)
Bring Me Men provides a valiant showing of query into the culture of masculinity and its meaning for the U.S. military and its position of power (and wealth) on the global stage.(Annessa Babic H-Diplo)
About the Author
Aaron Belkin is associate professor of political science at San Francisco State University and director of the Palm Center at the University of California, Los Angeles. He has been a MacArthur Foundation postdoctoral fellow at the University of California, Berkeley, and a predoctoral fellow at Stanford University. He has published more than twenty-five books, chapters, and peer-reviewed journal articles. His most recent book is How We Won: Progressive Lessons from the Repeal of "Don't Ask, Don't Tell."


text:
The Open University since 2006
Alternatively you can skip the navigation by pressing 'Enter'.
Health, Sports & Psychology menu item
Childhood & Youth
Education menu item
History & The Arts menu item
Languages menu item
Money & Management menu item
Nature & Environment menu item
The Environment
Science, Maths & Technology menu item
Engineering and Technology
People, Politics & Law menu item
TV, Radio & Events menu item
Coming up
Thinking Allowed July 2016: Food bank Britain, Food poverty in EuropeMonday, 25th July 2016 00:15 - BBC Radio 4This episode looks at food poverty in Britain and Europe. Read more: Thinking Allowed July 2016: Food bank Britain, Food poverty in Europe
Exodus: Our Journey To Europe: EPISODE 1Wednesday, 27th July 2016 02:45 - BBC Two
Exodus: Our Journey To Europe: EPISODE 2Thursday, 28th July 2016 00:45 - BBC Two (except Scotland and Northern Ireland)
Exodus: Our Journey To Europe: EPISODE 3Friday, 29th July 2016 00:45 - BBC Two
Catch up
Full Steam Ahead: Episode oneAvailable until Monday, 22nd August 2016 17:30The first episode of Full Steam Ahead looks at the way Britain changed in the 19th century due to the railways Read more: Full Steam Ahead: Episode one
Thinking Allowed July 2016: Food bank Britain, Food poverty in EuropeAvailable for over a year
Exodus: Our Journey To Europe: EPISODE 3Available until Friday, 19th August 2016 01:15
Exodus: Our Journey To Europe: EPISODE 2Available until Friday, 19th August 2016 00:15
Get Started menu item
Welcome to OpenLearn
Get the most out of OpenLearn - Sign in
OpenLearn is the home of free learning from the UK's largest university, The Open University. We've got thousands of ways to learn - including 800 free courses you can dip into. More about this site
Inspire me
OpenLearn Live: 22nd July 2016A biochemist with a fearsome reputation; how drones are helping ferrets and keeping your workers... Read more: OpenLearn Live: 22nd July 2016
Full Steam AheadIt's Full Steam Ahead for historians Ruth Goodman, Alex Langlands and Peter Ginn as they bring... Read more: Full Steam Ahead
Free courses
Employment relations and employee engagementThis free course, Employment relations and employee engagement, looks at raising levels of... Try: Employment relations and employee engagement now
Introduction to bookkeeping and accountingLearn about the essential numerical skills required for accounting and bookkeeping. This free... Try: Introduction to bookkeeping and accounting now
Become an OU student
Learning to learnTry our free course and get the most out of all our free courses Try: Learning to learn now
- You are here:
- Home
- History & The Arts
- History
- History of Art
- Goya
What influenced Goya? Did Napoleon's invasion of Spain alter the course of Goya's career? This free course will guide you through the works of Goya and the influences of the times in which he lived. Anyone with a desire to look for the influences behind a work of art will benefit from studying this course.
After studying this course, you should be able to:
- read and understand the classic novel Great Expectations, based on the genre of the book
- study literature at a higher level.
- Duration 5 hours
- Updated Monday 8th February 2016
- Intermediate level
- Posted under History of Art
Study this free course
Enrol to access the full course, get recognition for the skills you learn, track your progress and on completion gain a statement of participation to demonstrate your learning to others. Make your learning visible!
What influenced Goya? Did Napoleon's invasion of Spain alter the course of Goya's career? This course will guide you through the works of Goya and the influences of the times in which he lived. Anyone with a desire to look for the influences behind the work of art will benefit from studying this course.
This OpenLearn course provides a sample of Level 2 study in Arts and Humanities [Tip: hold Ctrl and click a link to open it in a new tab. (Hide tip)] .
Archive content
This free course includes adapted extracts from an Open University course which is no longer available to new students. If you found this interesting you could explore more free History of Art courses or view the range of currently available OU History of Art courses.
We invite you to discuss this subject, but remember this is a public forum.
Please be polite, and avoid your passions turning into contempt for others. We may delete posts that are rude or aggressive; or edit posts containing contact details or links to other websites.
Copyright & revisions
Publication details
Originally published: Monday, 8th February 2016
Last updated on: Monday, 8th February 2016
Copyright information
- Creative-Commons: The Open University is proud to release this free course under a Creative Commons licence. However, any third-party materials featured within it are used with permission and are not ours to give away. These materials are not subject to the Creative Commons licence. See terms and conditions. Full details can be found in the Acknowledgements and our FAQs section.
- This site has Copy Reuse Tracking enabled - see our FAQs for more information.
If you enjoyed this, why not follow a feed to find out when we have new things like it? Choose an RSS feed from the list below. (Don't know what to do with RSS feeds?)
Remember, you can also make your own, personal feed by combining tags from around OpenLearn.
Alternative formats
All our alternative formats are free for you to download, for more information about the different formats we offer please see our FAQs. The most frequently used are Word (for accessibility), PDF (for print) and ePub and Kindle to download to eReaders*.
- Word (1.1 MB)
- ePub 3.0 (36.8 MB)
- ePub 2.0 (817 KB)
- Kindle (432 KB)
- OUXML Package (29 KB)
- OUXML File (82 KB)
- IMS Common cartridge
- Moodle backup (20.5 MB)
*Please note you will need an ePub and Mobi reader for these formats.
Tags, Ratings and Social Bookmarking
About this site
OpenLearn: free learning from The Open University


text:
Join us on Saturday June 4th at 7:00pm in C149 for the IA 1ST JAPAN LIVE CONCERT SCREENING PARTY A GO GO! You can … Read More >
FAN EXPO DALLAS is part of the Global Exhibitions Division of Informa PLC
This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them. Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 3099067.
Join us on Saturday June 4th at 7:00pm in C149 for the IA 1ST JAPAN LIVE CONCERT SCREENING PARTY A GO GO! You can … Read More >
Who needs sleep? Fan Expo Official After Parties are now on sale! All are limited quantities, so CLICK HERE to get yours now!… Read More >
Brent "brentalfloss" Black is a comedian, musician, and gamer. His YouTube channel first gained notoriety in 2008 when he added lyrics to the title theme … Read More >
Meet us in the Kid's Lounge where you'll get to build with LEGO® bricks, show off your coloring skills, and maybe even meet a Stormtrooper! … Read More >
We have scoured the Earth for the best independent geek genre films in the Galaxy! Come and see the best Science Fiction, Horror, Fantasy, Action, … Read More >
Fan favorite cosplay pros LeeAnna Vamp, Alexia Jean Grey, Kristen Hughey, Ivy Doomkitty, & more join the Fan Expo Dallas guest list! Click here to … Read More >
Announcing Colleen Clinkenbeard (Fairy Tail), Jamie Marchi (Fairy Tail), Trina Nishimura (Attack On Titan), Bryce Papenbrook (Attack On Titan), Monica Rial (Fairy Tail), Chris Sabat … Read More >
Fans will be out by the thousands to find the newest and hottest in Anime, Manga, Comics, Sci-Fi, Gaming and Horror items. Come out and … Read More >
Let's do it again! Mark your calendar for another 3 days of awesomeness at Fan Expo Dallas on June 3-5, 2016!… Read More >


text:
Posted 2 days ago by MySQL Performance Blog
This blog post lists the Percona Live Europe Amsterdam 2016 tutorial schedule. We are excited to announce that the tutorial schedule for the Percona Live Europe Amsterdam Open Source Database Conference 2016 is up! The Percona Live Europe Amsterdam ... [More] Open Source Database Conference is the premier event for the diverse and active open source community, as well as businesses that develop and use open source software. The conferences have a technical focus with an emphasis on the core topics of MySQL, MongoDB, and other open source databases. Tackling subjects such as analytics, architecture and design, security, operations, scalability and performance, Percona Live provides in-depth discussions for your high-availability, IoT, cloud, big data and other changing business needs. Tackling subjects such as analytics, architecture and design, security, operations, scalability and performance, Percona Live Europe provides in-depth discussions for your high-availability, IoT, cloud, big data and other changing business needs. This conference is an opportunity to network with peers and technology professionals by bringing together accomplished DBA's, system architects and developers from around the world to share their knowledge and experience – all to help you learn how to tackle your open source database challenges in a whole new way. These tutorials are a must for any data performance professional! The Percona Live Europe Open Source Database Conference is October 3-5 at the Mövenpick Hotel Amsterdam City Centre. Click through to the tutorial link right now, look them over, and pick which sessions you want to attend. Discounted passes available below! Tutorial List: InnoDB Architecture and Performance Optimization Peter Zaitsev (Percona) Best Practices for MySQL High Availability Colin Charles (MariaDB) ProxySQL Tutorial René Cannaò (Self Employed), Derek Downey (Pythian), David Turner(Dropbox) MySQL Operations in Docker Giuseppe Maxia (VMware) MySQL GTID Implementation, Maintenance and Best Practices Mark Filipi (SurveyMonkey), Gillian Gunson (GitHub), Brian Cain (Dropbox) Become a MySQL DBA (Part 1 and 2) Krzysztof Książek (Severalnines AB) MongoDB 101 (Part 1 and 2) David Murphy (Percona) NoSQL Data Stores in Research and Practice Felix Gessert MySQL Performance Schema in Action Alexander Rubin (Percona), Sveta Smirnova (Percona) MySQL Group Replication in a Nutshell: Hands-on Tutorial Frédéric Descamps (Oracle) MyRocks Deep Dive: Flash Optimized LSM Database for MySQL, and Its Use Case at Facebook Yoshinori Matsunobu (Facebook) MySQL Schema Design in Practice Jaime Crespo (Wikimedia Foundation) MySQL High Availability with Percona XtraDB 5.7 TBD The Complete MariaDB Tutorial Colin Charles (MariaDB) Early Bird Discounts Just a reminder to everyone out there: our Early Bird discount rate for the Percona Live Europe Amsterdam Open Source Database Conference is only available 'til August 8, 2016, 11:30 pm PST! This rate gets you all the excellent and amazing opportunities that Percona Live offers, at a very reasonable price! Sponsor Percona Live Become a conference sponsor! We have sponsorship opportunities available for this annual MySQL, MongoDB and open source database event. Sponsors become a part of a dynamic and growing ecosystem and interact with hundreds of DBAs, sysadmins, developers, CTOs, CEOs, business managers, technology evangelists, solutions vendors, and entrepreneurs who attend the event. [Less]
Posted 3 days ago by MySQL Performance Blog
In this blog, we'll discuss monitoring MongoDB with Nagios. There is a significant amount of talk around graphing MongoDB metrics using things like Prometheus, Data Dog, New Relic, and Ops Manager from MongoDB Inc. However, I haven't noticed a lot of ... [More] talk around "What MongoDB alerts should I be setting up?" While building out Percona's remote DBA service for MongoDB, I looked at Prometheus's AlertManager. After reviewing it, I'm not sure it's quite ready to be used exclusively. We needed to decide quickly if there are better Nagios checks on the market, or did I need to write my own? In the end, we settled on a hybrid approach. There are some good frameworks, but we need to create or tweak some of the things needed for an "SEV 1-" or "SEV 2-" type issue (which are most important to me). One of the most common problems for operations, Ops, DevOps, DBA teams and most engineering is alert spam. As such I wanted to be very careful to only alert on the things pointing to immediate dangers or current outages. As a result, we have now added pmp-check-mongo.py to the GitHub for Percona Monitoring Plugins. Since we use Grafana and Prometheus for metrics and graphing, there are no accompanying Catci information templates. In the future, we'll need to decide how this will change PMP overtime. In the meantime, we wanted to make the tool available now and worry about some of the issues later on. As part of this push, I want to give you some real world examples of how you might use this tool. There are many options available to you, and Nagios is still a bit green in regards to making those options as user-friendly as our tools are.Usage: pmp-check-mongo.py [options] Options: -h, --help show this help message and exit -H HOST, --host=HOST The hostname you want to connect to -P PORT, --port=PORT The port mongodb is running on -u USER, --user=USER The username you want to login as -p PASSWD, --password=PASSWD The password you want to use for that user -W WARNING, --warning=WARNING The warning threshold you want to set -C CRITICAL, --critical=CRITICAL The critical threshold you want to set -A ACTION, --action=ACTION The action you want to take. Valid choices are (check_connections, check_election, check_lock_pct, check_repl_lag, check_flushing, check_total_indexes, check_balance, check_queues, check_cannary_test, check_have_primary, check_oplog, check_index_ratio, check_connect) Default: check_connect -s SSL, --ssl=SSL Connect using SSL -r REPLICASET, --replicaset=REPLICASET Connect to replicaset -c COLLECTION, --collection=COLLECTION Specify the collection in check_cannary_test -d DATABASE, --database=DATABASE Specify the database in check_cannary_test -q QUERY, --query=QUERY Specify the query, only used in check_cannary_test --statusfile=STATUS_FILENAME File to current store state data in for delta checks --backup-statusfile=STATUS_FILENAME_BACKUP File to previous store state data in for delta checks --max-stale=MAX_STALE Age of status file to make new checks (seconds)There seems to be a huge amount going on here, but let's break it down into a few categories: Connection options Actions Action options Status options Hopefully, this takes some of the scariness out of the script above. Connection options Host / Port Number Pretty simple, this is just the host you want to connect to and what TCP port it is listening on. Username and Password Like with Host/Port, this is some of your normal and typical Mongo connection field options. If you do not set both the username and password, the system will assume auth was disabled. SSL This is mostly around the old SSL support in Mongo clients (which was a boolean). This tool needs updating to support the more modern SSL connection options. Use this as a "deprecated" feature that might not work on newer versions. ReplicaSet Very particular option that is only used for a few checks and verifies that the connection uses a replicaset connection. Using this option lets the tool automatically find a primary node for you, and is helpful to some checks specifically around replication and high availability (HA): check_election check_repl_lag check_cannary_test chech_have_primary check_oplog Actions and what they mean check_connections This parameter refers to memory usage, but beyond that you need to know if your typical connections suddenly double. This indicates something unexpected happened in the application or database and caused everything to reconnect. It often takes up to 10 minutes for those old connections to go away. check_election This uses the status file options we will cover in a minute, but it checks to see if the primary from the last check differs from the current found primary. If so, it alerts. This check should only have a threshold of one before it alarms (as an alert means an HA event occurred). check_lock_pct MMAP only, this engine has a write lock on the whole collection/database depending on the version. This is a crucial metric to determine if MMAP writes are blocking reads, meaning you need to scale the DB layer in some way. check_repl_lag Checks the replication stream to understand how lagged a given node is the primary. To accomplish this, it uses a fake record in the test DB to cause a write. Without this, a read-only system would look lagged artificially as no new oplog entries get created. check_flushing A common issue with MongoDB is very long flush times, causing a system halt. This is a caused by your disk subsystem not keeping up, and then the DB having to wait on flushing to make sure writes get correctly journaled. check_total_indexes The more indexes you have, the more the planner has to work to determine which index is a good fit. This increases the risk that the recovery of a failure will take a long time. This is due to the way a restore builds indexes and how MongoDB can only make one index at a time. check_balance While MongoDB should keep things in balance across a cluster, many things can happen: jumbo chunks, a disabled balancer being, constantly attempting to move the same chunk but failing, and even adding/removing sharding. This alert is for these cases, as an imbalance means some records might get served faster than others. It is purely based on the chunk count that the MongoDB balancer is also based on, which is not necessarily the same as disk usage. check_queues No matter what engine you have selected, a backlog of sustained reads or writes indicates your DB layer is unable to keep up with demand. It is important in these cases to send an alert if the rate is maintained. You might notice this is also in our Prometheus exporter for graphics as both trending and alerting are necessary to watch in a MongoDB system. check_cannary_test This is a typical query for the database and then used to set critical/warning levels based on the latency of the returned query. While not as accurate as full synthetic transactions, queries through the application are good to measure response time expectations and SLAs. check_have_primary If we had an HA event but failed to get back up quickly, it's important to know if a new primary is causing writes to error on the system. This check simply determines if the replica set has a primary, which means it can handle reads and writes. check_oplog This check is all about how much oplog history you have. This is much like measuring how much history you have in MySQL blogs. The reason this is important is when recovering from a backup and performing a point in time recovery, you can use the current oplog if the oldest timestamp in the oplog is newer than the backup timestamp. As a result, this is normal three times the backup interval you use to guarantee that you have plenty of time to find the newest recovery and then do the recovery. check_index_ratio This is an older metric that modern MongoDB versions will not find useful, but in the past, it was a good way to understand the percentage of queries not handled by an index. check_connect A very basic check to ensure it can connect (and optionally login) to MongoDB and verify the server is working. Status File options These options rarely need to be changed but are present in case you want to store the status on an SHM mount point to avoid actual disk writes. statusfile This is where a copy of the current rs.status, serverStatus and other command data is stored backup-statusfile Like status_file, but status_file is moved here when a new check is done. These two objects can then be compared to find the delta between two checkpoints. max-stale This is the amount of age for which an old file is still valid. Deltas older then this aren't allowed and exist to protect the system from will assumption when a statusfile is hours or days old. If you have any questions on how to use these parameters, feel free to let us know. In the code, there is also a defaults dictionary for most of these options so that in many cases setting warning and critical level are not needed. [Less]
Posted 3 days ago by Severalnines
Following our popular webinar on MySQL database performance tuning, we're excited to introduce a new webinar trilogy dedicated to MySQL query tuning. This is an in-depth look into the ins and outs of optimising MySQL queries conducted by Krzysztof ... [More] Książek, Senior Support Engineer at Severalnines. When done right, tuning MySQL queries and indexes can significantly increase the performance of your application as well as decrease response times. This is why we'll be covering this complex topic over the course of three webinars of 60 minutes each. Dates Part 1: Query tuning process and tools Tuesday, August 30thRegister Part 2: Indexing and EXPLAIN - deep dive Tuesday, September 27thRegister Part 3: Working with the optimizer and SQL tuning Tuesday, October 25thRegister Agenda Part 1: Query tuning process and tools Query tuning process Build Collect Analyze Tune Test Tools tcpdump pt-query-digest Part 2: Indexing and EXPLAIN - deep dive How B-Tree indexes are built? Indexes - MyISAM vs. InnoDB Different index types B-Tree Fulltext Hash Indexing gotchas EXPLAIN walkthrough - query execution plan Part 3: Working with optimizer and SQL tuning Optimizer How execution plans are calculated InnoDB statistics Hinting the optimizer Index hints JOIN order modifications Tweakable optimizations Optimizing SQL Speaker Krzysztof Książek, Senior Support Engineer at Severalnines, is a MySQL DBA with experience in managing complex database environments for companies like Zendesk, Chegg, Pinterest and Flipboard. He's the main author of the Severalnines blog and webinar series: Become a MySQL DBA. Tags: MySQLquery tuninginnodbmyisam [Less]
Posted 4 days ago by MySQL Performance Blog
This blog post will detail the results of Samsung storage in tpcc-mysql benchmark using Percona Server. I had an opportunity to test different Samsung storage devices under tpcc-mysql benchmark powered by Percona Server 5.7. You can find a summary ... [More] with details here https://github.com/Percona-Lab-results/201607-tpcc-samsung-storage/blob/master/summary-tpcc-samsung.md I have in my possession: Samsung 850 Pro, 2TB: This is a SATA device and is positioned as consumer-oriented, something that you would use in a high-end user desktop. As of this post, I estimate the price of this device as around $430/TB. Samsung SM863, 1.92TB: this device is also a SATA, and positioned for a server usage. The current price is about $600/TB. Samsung PM1725, 800GB: This is an NVMe device, in a 2.5″ form factor, but it requires a connection to a PCIe slot, which I had to allocate in my server. The device is high-end, oriented for server-side and demanding workloads. The current price is about $1300/TB. I am going to use 1000 warehouses in the tpcc-mysql benchmarks, which corresponds roughly to a data size of 100GB. This benchmark varies the innodb_buffer_pool_size from 5GB to 115GB. With 5GB buffer pool size only a very small portion of data fits into memory, which results in intensive foreground IO reads and intensive background IO writes. With 115GB almost all data fits into memory, which results in very small (or almost zero) IO reads and moderate background IO writes. All buffer pool sizes in the middle of the interval correspond to resulting IO reads and writes. For example, we can see the read to write ratio on the chart below (received for the PM1725 device) with different buffer pool sizes: We can see that for the 5GB buffer pool size we have 56000 read IOPs operations and 32000 write IOPs. For 115GB, the reads are minimal at about 300 IOPS and the background writes are at the 20000 IOPs level. Reads gradually decline with the increasing buffer pool size. The charts are generated with the Percona Monitoring and Management tools. Results Let's review the results. The first chart shows measurements taken every one second, allowing us to see the trends and stalls. If we take averages, the results are: In table form (the results are in new order transactions per minute (NOTPM)): bp, GB pm1725 sam850 sam863 pm1725 / sam863 pm1725 / sam850 5 42427.57 1931.54 14709.69 2.88 21.97 15 78991.67 2750.85 31655.18 2.50 28.72 25 108077.56 5156.72 56777.82 1.90 20.96 35 122582.17 8986.15 93828.48 1.31 13.64 45 127828.82 12136.51 123979.99 1.03 10.53 55 130724.59 19547.81 127971.30 1.02 6.69 65 131901.38 27653.94 131020.07 1.01 4.77 75 133184.70 38210.94 131410.40 1.01 3.49 85 133058.50 39669.90 131657.16 1.01 3.35 95 133553.49 39519.18 132882.29 1.01 3.38 105 134021.26 39631.03 132126.29 1.01 3.38 115 134037.09 39469.34 132683.55 1.01 3.40 Conclusion The Samsung 850 obviously can't keep with the more advanced SM863 and PM1725. The PM1725 shows a greater benefit with smaller buffer pool sizes. In cases using large amounts of memory, there is practically no difference with SM863. The reason is that with big buffer pool sizes, MySQL does not push IO subsystem much to use all the PM1725 performance. For the reference, my.cnf file is[mysqld] datadir=/var/lib/mysql socket=/tmp/mysql.sock ssl=0 symbolic-links=0 sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES # general thread_cache_size=2000 table_open_cache = 200000 table_open_cache_instances=64 back_log=1500 query_cache_type=0 max_connections=4000 # files innodb_file_per_table innodb_log_file_size=15G innodb_log_files_in_group=2 innodb_open_files=4000 innodb_io_capacity=10000 loose-innodb_io_capacity_max=12000 innodb_lru_scan_depth=1024 innodb_page_cleaners=32 # buffers innodb_buffer_pool_size= 200G innodb_buffer_pool_instances=8 innodb_log_buffer_size=64M # tune innodb_doublewrite= 1 innodb_support_xa=0 innodb_thread_concurrency=0 innodb_flush_log_at_trx_commit= 1 innodb_flush_method=O_DIRECT_NO_FSYNC innodb_max_dirty_pages_pct=90 join_buffer_size=32K sort_buffer_size=32K innodb_use_native_aio=0 innodb_stats_persistent = 1 # perf special innodb_adaptive_flushing = 1 innodb_flush_neighbors = 0 innodb_read_io_threads = 16 innodb_write_io_threads = 8 innodb_purge_threads=4 innodb_adaptive_hash_index=0 innodb_change_buffering=none loose-innodb-log_checksum-algorithm=crc32 loose-innodb-checksum-algorithm=strict_crc32 loose-innodb_sched_priority_cleaner=39 loose-metadata_locks_hash_instances=256 [Less]
Posted 4 days ago by Karen Langford
Dear MySQL users, MySQL Enterprise Backup v4.0.2, a new version of the online MySQL backup tool, is now available for download from the My Oracle Support (MOS) website as our latest GA release. This release will be available on eDelivery (OSDC) ... [More] after the next upload cycle. MySQL Enterprise Backup is a commercial extension to the MySQL family of products. MySQL Enterprise Backup v4.0.2 supports only the MySQL Server 5.7.9 and above. For any earlier versions of the MySQL server, please use MySQL Enterprise Backup 3.12 instead. A brief summary of the changes in MySQL Enterprise Backup (MEB) version 4.0.2 is given below. Changes in MySQL Enterprise Backup 4.0.2 (2016-07-26) Functionality Added or Changed * When there were no tables matching the regular expression specified with the --include-table option during a backup operation, mysqlbackup still created a backup, which contained an empty folder for each database on the server. mysqlbackup now throws an error when --include-tables selects no tables to be backed up. (Bug #18114353) * MySQL Enterprise Backup can now backup and restore encrypted InnoDB tables. See Working with Encrypted InnoDB Tables and Options for Working with Encrypted InnoDB Tablespaces for details. Bugs Fixed * When trying to restore a compressed image backup of a server that had separate undo tablespaces residing in the data directory with the copy-back-and-apply-log command, the operation failed at the apply-log phase, as mysqlbackup could not load the undo tablepaces. (Bug #23583961) * Attempts to restore an image backup from the cloud using the --skip-binlog option failed with a "global tail magic mismatch" error. This was because mysqlbackup failed to perform a non-sequential read from the cloud with gaps caused by the skipping of the binary logs. This fix makes sure mysqlbackup can perform such reads. (Bug #23534700) * When a compressed backup was being restored, if the undo logs had been put into separate tablespaces outside of the data directory on the backed up server, they got restored twice, once mistakenly as general tablespaces with the .ibd extension, and once as undo tablespaces without a file extension. This fix makes sure they are restored normally as undo tablespaces only. (Bug #23179194) * An extract operation for an image backup failed with a checksum mismatch error in cases when, during the backup, an InnoDB tablespace file kept growing in size, and mysqlbackup failed to put the correct file size in its file header. (Bug #22905984) References: This issue is a regression of: Bug #22613568. * During a mysqlbackup operation on a compressed backup (that is, the --uncompress option was used), mysqlbackup, in some situations, wrote to the log file multiple instances of the message "ERROR: InnoDB: file write at offset > 4 GB," even though the operation was actually successful. (Bug #22733760) * Occasionally, some files were missing from an image backup created by the --backup-to-image command. It was due to an internal race condition, which this fix eliminates. (Bug #19600687) The complete manual for MEB 4.0.2 is at http://dev.mysql.com/doc/mysql-enterprise-backup/4.0/en/index.html The tool is available for download from Oracle Software Delivery Cloud (http://edelivery.oracle.com/). You can also download the binaries from MOS, https://support.oracle.com Choose the "Patches & Updates" tab, and then use the "Product or Family (Advanced Search)" feature. If you haven't looked at MEB recently, please do so now and let us know how MEB works for you. Your feedback is greatly appreciated! Please report any problems you have at https://bug.oraclecorp.com/ for the product "MySQL Enterprise Backup" Thanks, On behalf MySQL RE team at Oracle Sreedhar S [Less]
Posted 4 days ago by Uber Engineering
Uber Engineering explains the technical reasoning behind its switch in database technologies, from Postgres to MySQL. The post Why Uber Engineering Switched from Postgres to MySQL appeared first on Uber Engineering Blog.
Posted 4 days ago by Justin Swanhart
[this is a repost of my http://shardquery.com blog post, because it did not syndicate to planet.mysql.com]As work on WarpSQL (Shard-Query 3) progresses, it has outgrown MySQL proxy. MySQL proxy is a very useful tool, but it requires LUA scripting ... [More] , and it is an external daemon that needs to be maintained. The MySQL proxy module for Shard-Query works well, but to make WarpSQL into a real distributed transaction coordinator, moving the proxy logic inside of the server makes more sense.The main benefit of MySQL proxy is that it allows a script to "inject" queries between the client and server, intercepting the results and possibly sending back new results to the client. I would like similar functionality, but inside of the server.For example, I would like to implement new SHOW commands, and these commands do not need to be implemented as actual MySQL SHOW commands under the covers.For example, for this blog post I made a new example command called "SHOW PASSWORD"Example "injection" which adds SHOW PASSWORD functionality to the server mysql> select user(); +----------------+ | user() | +----------------+ | root@localhost | +----------------+ 1 row in set (0.00 sec) -- THIS COMMAND DOES NOT EXIST mysql> show password; +-------------------------------------------+ | password_hash | +-------------------------------------------+ | *00A51F3F48415C7D4E8908980D443C29C69B60C9 | +-------------------------------------------+ 1 row in set (0.00 sec) Important - This isn't a MySQL proxy plugin. There is C++ code in the SERVER to answer that query, but it isn't the normal SHOW command code. This "plugin" (I put it in quotes because my plan is for a pluggable interface but it isn't added to the server yet) doesn't access the mysql.user table using normal internal access methods. It runs actual SQL inside of the server, on the same THD as the client connection, in the same transaction as the client connection, to get the answer!Problem #1 - Running SQL in the serverThe MySQL C client API doesn't have any methods for connecting to the server from inside of the server, except to connect to the normally available socket interfaces, authenticate, and then issue queries like a normal client. While it is perfectly possible to connect to the server as a client in this manner, it is sub-optimal for a number of reasons. First, it requires a second connection to the server, second, it requires that you authenticate again (which requires you have the user's password), and lastly, any work done in the second connection is not party to transactional changes in the first, and vice-versa.The problem is communication between the client and server, which uses a mechanism called VIO. There was work done a long time ago for external stored procedures, which never made it into the main server that would have alleviated this problem by implementing a in-server VIO layer, and making the parser re-entrant. That work was done on MySQL 5.1 though.It is possible to run queries without using VIO though. You simply can't get results back, except to know if the query succeeded or not. This means it is perfectly acceptable for any command that doesn't need a resultset, basically anything other than SELECT. There is a loophole however, in that any changes made to the THD stay made to that THD. Thus, if the SQL executed sets any user variables, then those variables are of course visible after query execution.Solution - encapsulate arbitrary SQL resultsets through a user variableSince user variables are visible after query execution, the goal is to get the complete results of a query into a user variable, so that the resultset can be accessed from the server. To accomplish this, first a method to get the results into the variable must be established, and then some data format for communication that is amenable to that method has to be decided upon so that the resultset can be accessed conveniently..With a little elbow grease MySQL can convert any SELECT statement into CSV resultset. To do so, the following are used:SELECT ... INTO @user_variableA subquery in the FROM clause (for the original query)CONCAT, REPLACE, IFNULL, GROUP_CONCAT (to encode the resultset data)Here is the SQL that the SHOW PASSWORD command uses to get the correct password: select authentication_string as pw, user from mysql.user where concat(user,'@',host) = USER() or user = USER() LIMIT 1Here is the "injected" SQL that the database generates to encapsulate the SQL resultset as CSV: select group_concat( concat('"', IFNULL(REPLACE(REPLACE(`pw`,'"','\\"'),"\n","\\n"),"\N"), '"|"', IFNULL(REPLACE(REPLACE(`user`,'"','\\"'),"\n","\\n"),"\N"), '"' ) separator "\n" ) from ( select authentication_string as pw, user from mysql.user where concat(user,'@',host) = USER() OR user = USER() LIMIT 1 ) the_query into @sql_resultset ; Query OK, 1 row affected (0.00 sec)Here is the actual encapsulated resultset. If there were more than one row, they would be newline separated. mysql> select @sql_resultset; +----------------+ | @sql_resultset | +----------------+ | ""|"root" | +----------------+ 1 row in set (0.00 sec)Injecting SQL in the serverWith the ability to encapsulate resultsets into CSV in user variables, it is possible to create a cursor over the resultset data and access it in the server. The MySQL 5.7 pre-parse rewrite plugins, however, still run inside the parser. The THD is not "clean" with respect to being able to run a second query. The parser is not re-entrant. Because I desire to run (perhaps many) queries between the time a user enters a query and the server actually answers the query (perhaps with a different query than the user entered!) the MySQL 5.7 pre-parse rewrite plugin infrastructure doesn't work for me.I modified the server, instead, so that there is a hook in do_command() for query injections. I called it conveniently query_injection_point() and the goal is to make it a new plugin type, but I haven't written that code yet. Here is the current signature for query_injection_point(): bool query_injection_point( THD* thd, COM_DATA *com_data, enum enum_server_command command, COM_DATA* new_com_data, enum enum_server_command* new_command );It has essentially the same signature as dispatch_command(), but it provides the ability to replace the command, or keep it as is. It returns true when the command has been replaced.Because it is not yet pluggable, here is the code that I placed in the injection point: /* TODO: make this pluggable */ bool query_injection_point(THD* thd, COM_DATA *com_data, enum enum_server_command command, COM_DATA* new_com_data, enum enum_server_command* new_command) { /* example rewrite rule for SHOW PASSWORD*/ if(command != COM_QUERY) { return false; } /* convert query to upper case */ std::locale loc; std::string old_query(com_data->com_query.query,com_data->com_query.length); for(unsigned int i=0;icom_query.length;++i) { old_query[i] = std::toupper(old_query[i], loc); } if(old_query == "SHOW PASSWORD") { std::string new_query; SQLClient conn(thd); SQLCursor* stmt; SQLRow* row; if(conn.query("pw,user", "select authentication_string as pw,user from mysql.user " \ "where concat(user,'@',host) = USER() or user = USER() LIMIT 1", &stmt)) { if(stmt != NULL) { if((row = stmt->next())) { new_query = "SELECT '" + row->at(0) + "' as password_hash"; } } else { return false; } } else { return false; } /* replace the command sent to the server */ if(new_query != "") { Protocol_classic *protocol= thd->get_protocol_classic(); protocol->create_command( new_com_data, COM_QUERY, (uchar *) strdup(new_query.c_str()), new_query.length() ); *new_command = COM_QUERY; } else { if(stmt) delete stmt; return false; } if(stmt) delete stmt; return true; } } /* don't replace command */ return false; }SQLClientYou will notice that the code access the mysql.user table using SQL, using the SQLClient, SQLCursor, and SQLRow objects. These are the objects that wrap around encapsulating the SQL into a CSV resultset, and actually accessing the result set. The interface is very simple, as you can see from the example. You create a SQLClient for a THD (one that is NOT running a query already!) and then you simply run queries and access the results.The SQLClient uses a stored procedure to methodically encapsulate the SQL into CSV and then provides objects to access and iterate over the data that is buffered in the user variable. Because MySQL 5.7 comes with the sys schema, I placed the stored procedure into it, as there is no other available default database that allows the creation of stored procedures. I called it sys.sql_client().Because the resultset is stored as text data, the SQLRow object returns all column values as std::string.What's next?I need to add a proper plugin type for "SQL injection plugins". Then I need to work on a plugin for parallel queries. Most of the work for that is already done, actually, at least to get it into an alpha quality state. There is still quite a bit of work to be done though.You can find the code in the internal_client branch of my fork of MySQL 5.7:http://github.com/greenlion/warpsql-server [Less]
Posted 5 days ago by MySQL Performance Blog
Percona announces the GA release of Percona XtraBackup 2.4.4 on July 25th, 2016. You can download it from our download site and from apt and yum repositories. Percona XtraBackup enables MySQL backups without blocking user queries, making it ideal for ... [More] companies with large data sets and mission-critical applications that cannot tolerate long periods of downtime. Offered free as an open source solution, Percona XtraBackup drives down backup costs while providing unique features for MySQL backups. New Features: Percona XtraBackup has been rebased on MySQL 5.7.13. Bugs Fixed: Percona XtraBackup reported the difference in the actual size of the system tablespace and the size which was stored in the tablespace header. This check is now skipped for tablespaces with autoextend support. Bug fixed #1550322. Because Percona Server 5.5 and MySQL 5.6 store the LSN offset for large log files at different places inside the redo log header, Percona XtraBackup was trying to guess which offset is better to use by trying to read from each one and compare the log block numbers and assert lsn_chosen == 1 when both LSNs looked correct, but they were different. Fixed by improving the server detection. Bug fixed #1568009. Percona XtraBackup didn't correctly detect when tables were both compressed and encrypted. Bug fixed #1582130. Percona XtraBackup would crash if the keyring file was empty. Bug fixed #1590351. Backup couldn't be prepared when the size in cache didn't match the physical size. Bug fixed #1604299. Free Software Foundation address in copyright notices was outdated. Bug fixed #1222777. Backup process would fail if the datadir specified on the command-line was not the same as one that is reported by the server. Percona XtraBackup now allows the datadir from my.cnf override the one from SHOW VARIABLES. xtrabackup prints a warning that they don't match, but continues. Bug fixed #1526467. With upstream change of maximum page size from 16K to 64K, the size of incremental buffer became 1G. Which increased the requirement to 1G of RAM in order to prepare the backup. While in fact there is no need to allocate such a large buffer for smaller pages. Bug fixed #1582456. Backup process would fail on MariaDB Galera cluster operating in GTID mode if binary logs were in non-standard directory. Bug fixed #1517629. Other bugs fixed: #1583717, #1583954, and #1599397. Release notes with all the bugfixes for Percona XtraBackup 2.4.4 are available in our online documentation. Please report any bugs to the launchpad bug tracker. [Less]
Posted 5 days ago by Severalnines
Networking is critical in MySQL, it is a fundamental resource to manage access to the server from client applications and other replication peers. The behaviour of a containerized MySQL service is determined by how the MySQL image is spawned with ... [More] "docker run" command. With Docker single-host networking, a MySQL container can be run in an isolated environment (only reachable by containers in the same network), or an open environment (where the MySQL service is totally exposed to the outside world) or the instance simply runs with no network at all. In the previous two blog posts, we covered the basics of running MySQL in a container and how to build a custom MySQL image. In today's post, we are going to cover the basics of how Docker handles single-host networking and how MySQL containers can leverage that. 3 Types of Networks By default, Docker creates 3 networks on the machine host upon installation: $ docker network ls NETWORK ID NAME DRIVER 1a54de857c50 host host 1421a175401a bridge bridge 62bf0f8a1267 none nullEach network driver has its own characteristic, explained in the next sections. Host Network The host network adds a container on the machine host's network stack. You may imagine containers running in this network are connecting to the same network interface as the machine host. It has the following characteristics: Container's network interfaces will be identical with the machine host. Only one host network per machine host. You can't create more. You have to explicitly specify "--net=host" in the "docker run" command line to assign a container to this network. Container linking, "--link mysql-container:mysql" is not supported. Port mapping, "-p 3307:3306" is not supported. Let's create a container on the host network with "--net=host": $ docker run \ --name=mysql-host \ --net=host \ -e MYSQL_ROOT_PASSWORD=mypassword \ -v /storage/mysql-host/datadir:/var/lib/mysql \ -d mysqlWhen we look into the container's network interface, the network configuration inside the container is identical to the machine host: [machine-host]$ docker exec -it mysql-host /bin/bash [container-host]$ ip a 1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eth0: mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether 00:0c:29:fa:f6:30 brd ff:ff:ff:ff:ff:ff inet 192.168.55.166/24 brd 192.168.55.255 scope global eth0 valid_lft forever preferred_lft forever inet6 fe80::20c:29ff:fefa:f630/64 scope link valid_lft forever preferred_lft forever 3: docker0: mtu 1500 qdisc noqueue state DOWN group default link/ether 02:42:93:50:ee:c8 brd ff:ff:ff:ff:ff:ff inet 172.17.0.1/16 scope global docker0 valid_lft forever preferred_lft forever inet6 fe80::42:93ff:fe50:eec8/64 scope linkIn this setup, the container does not need any forwarding rules in iptables since it's already attached to the same network as the host. Hence, port mapping using option "-p" is not supported and Docker will not manage the firewall rules of containers that run in this type of network. If you look at the listening ports on the host machine, port 3306 is listening as it should: [machine-host]$ netstat -tulpn | grep 3306 tcp6 0 0 :::3306 :::* LISTEN 25336/mysqldHaving a MySQL container running on the Docker host network is similar to having a standard MySQL server installed on the host machine. This is only helpful if you want to dedicate the host machine as a MySQL server, however managed by Docker instead. Now, our container architecture can be illustrated like this: Containers created on host network are reachable by containers created inside the default docker0 and user-defined bridge. Bridge network Bridging allows multiple networks to communicate independently while keep separated on the same physical host. You may imagine this is similar to another internal network inside the host machine. Only containers in the same network can reach each other including the host machine. If the host machine can reach the outside world, so can the containers. There are two types of bridge networks: Default bridge (docker0) User-defined bridge Default bridge (docker0) The default bridge network, docker0 will be automatically created by Docker upon installation. You can verify this by using the "ifconfig" or "ip a" command. The default IP range is 172.17.0.1/16 and you can change this inside /etc/default/docker (Debian) or /etc/sysconfig/docker (RedHat). Refer to Docker documentation if you would like to change this. Let's jump into an example. Basically, if you don't explicitly specify "--net" parameter in the "docker run" command, Docker will create the container under the default docker0 network: $ docker run \ --name=mysql-bridge \ -p 3307:3306 \ -e MYSQL_ROOT_PASSWORD=mypassword \ -v /storage/mysql-bridge/datadir:/var/lib/mysql \ -d mysqlAnd when we look at the container's network interface, Docker creates one network interface, eth0 (excluding localhost): [machine-host]$ docker exec -it mysql-container-bridge /bin/bash [container-host]$ ip a 1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 4: eth0: mtu 1500 qdisc noqueue state UP group default link/ether 02:42:ac:11:00:02 brd ff:ff:ff:ff:ff:ff inet 172.17.0.2/16 scope global eth0 valid_lft forever preferred_lft forever inet6 fe80::42:acff:fe11:2/64 scope link valid_lft forever preferred_lft foreverBy default, Docker utilises iptables to manage packet forwarding to the bridge network. Each outgoing connection will appear to originate from one of the host machines's own IP addresses. The following is the machine's NAT chains after the above container was started: [machine-host]$ iptables -L -n -t nat Chain POSTROUTING (policy ACCEPT) target prot opt source destination MASQUERADE all -- 172.17.0.0/16 0.0.0.0/0 MASQUERADE tcp -- 172.17.0.2 172.17.0.2 tcp dpt:3306 Chain DOCKER (2 references) target prot opt source destination DNAT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:3307 to:172.17.0.2:3306The above rules allows port 3307 to be exposed on the machine host based on the port mapping option "-p 3307:3306" in the "docker run" command line. If we look at the netstat output on the host, we can see MySQL is listening on port 3307, owned by docker-proxy process: [machine-host]$ netstat -tulpn | grep 3307 tcp6 0 0 :::3307 :::* LISTEN 4150/docker-proxyAt this point, our container setup can be illustrated below: The default bridge network supports the use of port mapping and container linking to allow communication between containers in the docker0 network. If you would like to link another container, you can use the "--link" option in the "docker run" command line. Docker documentation provides extensive details on how the container linking works by exposing environment variables and auto-configured host mapping through /etc/hosts file. User-defined bridge Docker allows us to create custom bridge network, a.k.a user-defined bridge network (you can also create user-defined overlay network, but we are going to cover that in the next blog post). It behaves exactly like the docker0 network, where each container in the network can immediately communicate with other containers in the network. Though, the network itself isolates the containers from external networks. The big advantage of having this network is that all containers have the ability to resolve the container's name. Consider the following network: [machine-host]$ docker network create mysql-networkThen, create 5 mysql containers under the user-defined network: [machine-host]$ for i in {1..5}; do docker run --name=mysql$i --net=mysql-network -e MYSQL_ROOT_PASSWORD=mypassword -d mysql; doneNow, login into one of the containers (mysql3): [machine-host]$ docker exec -it mysql3 /bin/bashWe can then ping all containers in the network without ever linking them: [mysql3-container]$ for i in {1..5}; do ping -c 1 mysql$i ; done PING mysql1 (172.18.0.2): 56 data bytes 64 bytes from 172.18.0.2: icmp_seq=0 ttl=64 time=0.151 ms --- mysql1 ping statistics --- 1 packets transmitted, 1 packets received, 0% packet loss round-trip min/avg/max/stddev = 0.151/0.151/0.151/0.000 ms PING mysql2 (172.18.0.3): 56 data bytes 64 bytes from 172.18.0.3: icmp_seq=0 ttl=64 time=0.138 ms --- mysql2 ping statistics --- 1 packets transmitted, 1 packets received, 0% packet loss round-trip min/avg/max/stddev = 0.138/0.138/0.138/0.000 ms PING mysql3 (172.18.0.4): 56 data bytes 64 bytes from 172.18.0.4: icmp_seq=0 ttl=64 time=0.087 ms --- mysql3 ping statistics --- 1 packets transmitted, 1 packets received, 0% packet loss round-trip min/avg/max/stddev = 0.087/0.087/0.087/0.000 ms PING mysql4 (172.18.0.5): 56 data bytes 64 bytes from 172.18.0.5: icmp_seq=0 ttl=64 time=0.353 ms --- mysql4 ping statistics --- 1 packets transmitted, 1 packets received, 0% packet loss round-trip min/avg/max/stddev = 0.353/0.353/0.353/0.000 ms PING mysql5 (172.18.0.6): 56 data bytes 64 bytes from 172.18.0.6: icmp_seq=0 ttl=64 time=0.135 ms --- mysql5 ping statistics --- 1 packets transmitted, 1 packets received, 0% packet loss round-trip min/avg/max/stddev = 0.135/0.135/0.135/0.000 msIf we look into the resolver setting, we can see Docker configures an embedded DNS server: [mysql3-container]$ cat /etc/resolv.conf search localdomain nameserver 127.0.0.11 options ndots:0The embedded DNS server maintains the mapping between the container name and its IP address, on the network the container is connected to, as in this case it is mysql-network. This feature facilitates node discovery in the network and is extremely useful in building a cluster of MySQL containers using MySQL clustering technology like MySQL replication, Galera Cluster or MySQL Cluster. At this point, our container setup can be illustrated as the following: Default vs User-defined Bridge The following table simplifies the major differences between these two networks: Area Default bridge (docker0) User-defined bridge Network deployment Docker creates upon installation Created by user Container deployment Default to this network Explicitly specify "--net=[network-name]" in the "docker run" command Container linking Allows you to link multiple containers together and send connection information from one to another by using "--link [container-name]:[service-name]". When containers are linked, information about a source container can be sent to a recipient container. Not supported Port mapping Supported e.g, by using "-p 3307:3306" Supported e.g, by using "-p 3307:3306" Name resolver Not supported (unless you link them) All containers in this network are able to resolve each other's container name to IP address. Version <1.10 use /etc/hosts, >=1.10 use embedded DNS server. Packet forwarding Yes, via iptables Yes, via iptables Example usage for MySQL MySQL standalone MySQL replication, Galera Cluster, MySQL Cluster (involving more than one MySQL container setup) No network We can also create a container without any network attached to it by specifying "--net=none" in the "docker run" command. The container is only accessible through interactive shell. No additional network interface will be configured on the node. Consider the following: [machine-host]$ docker run --name=mysql0 --net=none -e MYSQL_ROOT_PASSWORD=mypassword -d mysqlBy looking at the container's network interface, only localhost interface is available: [machine-host]$ docker exec -it mysql0 /bin/bash [mysql0-container]$ ip a 1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft foreverContainer in network none indicates it can't join any network. Nevertheless, the MySQL container is still running and you can access it directly from the shell using mysql client command line through localhost or socket: [mysql0-container]$ mysql -uroot -pmypassword -h127.0.0.1 -P3306 mysql: [Warning] Using a password on the command line interface can be insecure. Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 6 Server version: 5.7.13 MySQL Community Server (GPL) Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql>Example use cases to run MySQL container in this network are MySQL backup verification by testing the restoration process, preparing the backup created using, e.g., Percona Xtrabackup or testing queries on different version of MySQL servers. At this point, our containers setup can be illustrated as the following: This concludes today's blog. In the next blog post, we are going to look into multiple host networking (using overlay networks) together with Docker Swarm, an orchestration tool to manage containers on multiple machine hosts. Tags: dockerMySQLnetworkingcontainersDatabase [Less]
Posted 5 days ago by Jan Kneschke
Decoding binary protocols in python Decoding binary protocols like the MySQL Client/Server Protocol or MySQL's new X Protocol involves taking a sequence of bytes and turning them into integers. In python the usually workhorse for this task is ... [More] struct.unpack() It takes a sequence of bytes and a format-string and returns a tuple of decoded values. In the case of the MySQL Client/Server protocol the integers are (mostly) little-endian, unsigned and we can use: format description len(payload): raise IndexError() if isinstance(payload, (bytes, bytearray)): charp = payload return _unpack_int_le(charp, l) else: raise TypeError(type(payload)) See also: http://docs.cython.org/en/latest/src/tutorial/pure.html With these hints given the _unpack_int_le() from above gets translated to: __pyx_v_v = 0; __pyx_v_sh = 0; __pyx_t_1 = __pyx_v_l; for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { __pyx_v_n = __pyx_t_2; __pyx_v_v = (__pyx_v_v | ((__pyx_v_payload[__pyx_v_n]) << __pyx_v_sh)); __pyx_v_sh = (__pyx_v_sh + 8); } return PyInt_from_unsigned_long(__pyx_v_v) This gains another 50%: byte length time (s) 1 0.224607 2 0.157248 3 0.158877 4 0.163004 8 0.165769 While the code is pure python with some annotations it sadly comes with some overhead in the generated C-code. Static typed cython cython has two more ways of specifying the static types: move the static types into a .pxd file write a .pyx file directly In our case the result would be the same which is why I go with the first approach: # unpack_int_le_5.pxd import cython @cython.locals(v=cython.ulong, sh=cython.ulong, n=cython.ulong) cdef unsigned long _unpack_int_le(unsigned char *payload, unsigned long l) @cython.locals(l=cython.ulong, charp=cython.p_uchar) cpdef unpack_int_le(payload, unsigned long l) # unpack_int_le_5.py def _unpack_int_le(payload, l): v = sh = n = 0 for n in range(l): v |= payload[n] << sh sh += 8 return v def unpack_int_le(payload, l): if l > len(payload): raise IndexError() if isinstance(payload, (bytes, bytearray)): charp = payload return _unpack_int_le(charp, l) else: raise TypeError(type(payload)) $ cythonize ./unpack_int_le_5.py && \ gcc -shared -pthread -fPIC -fwrapv \ -O3 -Wall -fno-strict-aliasing \ -I/usr/include/python2.7 \ -o unpack_int_le_5.so unpack_int_le_5.c byte length time (s) 1 0.084414 2 0.0818369 3 0.083369 4 0.084229 8 0.0980709 One can see that the longer byte-length leads to slightly higher runtime. Just cast it One last step and we are at the final form of the optimizations which mirror what one would have written if one would have written the code in C directly. If we are running on a little endian platform, we can save shift-or-loop and just cast the byte-sequence into the right integer directly. Note to show how the code looks in a pyx file, the previous py and pxd files have been merged into a pyx. # unpack_int_le_6.pyx import sys cdef unsigned int is_le is_le = sys.byteorder == "little" cdef unsigned long _unpack_int_le(const unsigned char *payload, unsigned long l): cdef unsigned long *u32p cdef unsigned short *u16p cdef unsigned long long *u64p cdef unsigned long v = 0 cdef unsigned long sh = 0 cdef unsigned long n = 0 if is_le: if l == 1: return payload[0] elif l == 2: u16p = payload return u16p[0] elif l == 4: u32p = payload return u32p[0] elif l == 8: u64p = payload return u64p[0] v = sh = n = 0 for n in range(l): v |= payload[n] << sh sh += 8 return v cpdef unsigned long unpack_int_le(payload, unsigned long l): cdef unsigned char *charp if l > len(payload): raise IndexError() if isinstance(payload, (bytes, bytearray)): charp = payload return _unpack_int_le(charp, l) else: raise TypeError(type(payload)) $ cythonize ./unpack_int_le_6.pyx && \ gcc -shared -pthread -fPIC -fwrapv \ -O3 -Wall -fno-strict-aliasing \ -I/usr/include/python2.7 \ -o unpack_int_le_6.so unpack_int_le_6.c byte length time (s) 1 0.0812111 2 0.0792191 3 0.082288 4 0.079355 8 0.0791218 Note the 3-byte case hits the loop again and is slightly slower. Conclusion Between the first attempt with struct.unpack() and our last with cython we have quite a speed difference: byte length time (s) time (s) speedup 1 0.466556 0.0812111 5.75x 2 0.422064 0.0792191 5.34x 3 1.17804 0.082288 14.36x 4 0.439113 0.079355 5.56x 8 0.448069 0.0791218 5.67x We got a 5x speed up and didn't had to write a single line of python C-API code. [Less]


text:
I can be reached at 585-236-7780. Give me a call Friday am.
Brad Newton
Certified Buyer Representative
Seniors Real Estatw Specialist
RE/MAX Custom
You nothing about the Seller?
You know nothing about the Market Value?
You don't know if $109 is a good number or not?
What will happen if the house is worth $125 and the Sellers are not desperate?


text:
|Item # GLO-BRUSHCLN
|Customer Rating:
|Rate this Item
|Enter to Win
Our Summer GiveawaySEE DETAILS
|Free Shipping
on all ordersSEE DETAILS
|Save 15%
on ALL OrdersUSE CODE: ADVENTURE
Makeup brushes should be cleaned regularly to avoid bacterial growth and color build-up. Simply spray brush cleaner onto your brush and wipe with a tissue.
Size options:


text:
Sharing Educational Strategies & Resources Across The Nation
DSF collaborates with other Down syndrome organizations to assist and support them in developing Learning Program™ models that fit the needs of their members.
The Learning Program™ Steering Committee Partners with Active Programs include:
- 3-21 Foundation (Boston, Massachusetts/2009)*
- Down Syndrome Association of Northern Virginia (Falls Church, Virginia/2009)*
- The Marin Fund, St. Louis (St. Louis, Missouri/2008)*
Current Learning Program Partners include:
- Celebrate Differences (Oswego, Illinois/2015)
- Club 21 (Pasadena, California/2010)
- Down Syndrome Association of Greater Richmond (N. Chesterfield, Virginia/2013)
- Down Syndrome Association of Central Kentucky (Lexington, Kentucky/2015)
- Down Syndrome Association of Minnesota (Duluth, Minnesota/2015)
- Down Syndrome Association of West Michigan (Grand Rapids, Michigan/2015)
- Down Syndrome Community (Seattle, Washington/2014)
- Down Syndrome Foundation of Florida (Orlando, Florida/2014)
- Down Syndrome Guild of Greater Kansas City (Shawnee Mission, Kansas/2012)
- Down Syndrome Organization of Southern Nevada (Las Vegas, Nevada/2013)
- Gold Coast Down Syndrome Organization (Boynton Beach, Florida/2008)
- Literacy Launch Pad (Portland, Oregon/2013)
- Montgomery County Down Syndrome Interest Group (Montgomery County, Pennsylvania/2013)
- National Down Syndrome Coalition (Sacramento, California/2010)
- Piedmont Down Syndrome Support Network (Pfafftown, North Carolina/2015)
- Triangle Down Syndrome Network (Raliegh, North Carolina/2014)
- The Up Side of Downs of Northeast Ohio (Independence, Ohio/2014)
- Bamboo Wow (Japan, 2015)
Our Boston Partner, 3-21 Foundation, created an explanatory video about the program and received the 2016 MDSC Educator Award.
Our Las Vegas Partner, DSOSN, created a video with pictures from their introductory year.


text:
U.S., Iran Differ on Nuclear Talks as Deadline Passes
A pending report from the United Nations' nuclear agency is likely to confirm that Iran is speeding up the construction of an industrial-scale uranium enrichment facility.
That deadline for Iran to suspend its enrichment program passed today; it was set last December, when the Security Council imposed sanctions on Iran.
Iranian leaders insist they will not suspend enrichment under pressure. That could mean even tougher sanctions.
Iran's president has said repeatedly that negotiations are possible — but with no preconditions.
The United States is trying to send every possible signal that it wants to use diplomacy and not resort to any military action against Iran, says Nicholas Burns, Undersecretary of State for Political Affairs.
But the United States still insists that Iran suspend uranium enrichment as a precondition to direct negotiations.
Robert Siegel talks with Burns, one of the Bush administration's chief negotiators.
Related NPR Stories
You must be signed in to leave a comment. Sign In / Register
Please keep your community civil. All comments must follow the NPR.org Community rules and terms of use, and will be moderated prior to posting. NPR reserves the right to use the comments we receive, in whole or in part, and to use the commenter's name and location, in any medium. See also the Terms of Use, Privacy Policy and Community FAQ.


text:
Co-Sourcing Improves Pharmaceutical Laboratory Productivity
Capitol Hill Critics Second-Guess Agencies Using...
Loss of Lives in Clinical Trials...
Keep the Opportunities, Lose the Opportunists
"The nanochannel array technology we are developing with this funding is designed to permit direct visualization and analysis of multimegabase fragments of DNA at the single-molecule level with high feature resolution, allowing researchers to visualize mutations, haplotypes, epigenetic features, and even DNA-protein binding events," explains Han Cao, Ph.D., CSO and principal investigator on this grant.
BioNanomatrix is developing integrated systems that enable nanoscale, single-molecule identification and analysis of the entire genome, delivering single-molecule sensitivity with haplotyping capability in a highly parallel format. The company's analytic platform, based on this technology provides ultrahigh-resolution analyses of DNA, RNA, and other proteins.
To save this item to your Favorites,
log into GEN Select.
We'll be sure to take you back here after you do.
Not a member of GEN Select?
To comment on this article,
log into GEN Select.
We'll be sure to take you back here after you do.
Join 110,000 colleagues who rely on GEN Highlights for breaking news and exclusive articles shaping today's life science tools and technologies.
You're all set! Thank you for subscribing to GEN Highlights.
MDMA (commonly known as the empathogen "ecstasy") is classified as a Schedule 1 drug, which is reserved for compounds with no accepted medical use and a high abuse potential. Two researchers from Stanford, however, call for a rigorous scientific exploration of MDMA's effects to identify precisely how the drug works, the data from which could be used to develop therapeutic compounds.Do you agree that ecstasy should be studied for its potential therapeutic benefits?
Be sure to add [email protected]
to your Address Book or Safe Senders List.
here for instructions.
If you have any questions about your subscription, click
here to email us or call at (914) 740-2189.
You may also be interested in subscribing to the GEN magazine, an indispensable
resource for everyone involved in the business of translating discoveries at the
bench into solutions that fight disease and improve health, agriculture, and the
environment. Subscribe
today to see why over 60,000 biotech professionals read GEN to
keep current in the areas of genomics, proteomics, drug discovery, biomarker discovery,
bioprocessing, molecular diagnostics, collaborations, biotech business trends, and
© 2016 Genetic Engineering & Biotechnology News All Rights Reserved