Monthly Archive: January 2017

The H1-B and offshoring trend – here’s where YOU come in

Folks, the dirty little secret underlying the H1-B issue is that corporations have been working to cut IT costs for decades. IT is always being hammered by business users in most corporations with variants of the “day late and a dollar short” or “you guys are so expensive, I could run my own IT shop with 2 guys and a visit to Best Buy” complaints.
The onset of “offshoring”, “best shoring” or whatever other Doublespeak phrase you want to use, was specifically underwritten by corporations starting around 20 years ago.
Along the way, IT service levels steadily declined. I watched as EDS clients moved work offshore, or demanded that we provide services at equivalent offshore rates, or they would go to an offshore vendor. It soon became clear that they were quite cheerfully prepared to accept lower levels of service and quality across the board as part of the price for reduced IT costs. They would of course, demand “high quality”, but when asked about how much they were prepared to pay, it would soon become clear that their price did not low for high service levels.
This, everybody, is part of the reason why cellphone phone vendor customer service went from being staffed by knowledgeable US workers to being staffed by offshore neophytes reading from scripts.
It is also why when I hear IT leaderships in clients waxing eloquently about Quality, I always have one hand firmly attached to my bullshit detector. Most IT leadership teams don’t give a rats ass about quality. If they did, they wouldn’t be buying solely on price. Sure, they talk a lot in negotiations about “quality” (often without being at all specific about measurable quality objectives – that is a tell that they are not serious) and then load up the contracts with SLAs, but most of those SLAs have nothing to do with levels of service as experienced by the end customer. They are simply fairly standard CYA boilerplate for IT fundamentals like uptime, defect resolution timeframes etc. etc.
But…
…when people huff and puff about crappy service from IT and tech vendors and systems, yet at the same time complain about other countries “stealing” jobs, I have to remind them of one basic fact.
They supported the process by buying and patronizing these businesses.
If (for example) customers had terminated their agreements with cell service providers when they found that they were not getting onshore customer service, we wouldn’t be facing the standard scenario where the guy named Rudy (real name is Rajamaranan) on Customer Service line #3 is sitting in Hyderabad while cheerfully pretending that he is stateside by asking you questions about the weather. (this is no knock on “Rudy”, he is simply doing the best job he can, probably with an out of date set of scripts written by a person who, if they were being WFR’d to make way for the Rudys, was in no mood to tell the new people everything they knew).
All of us consumers in the USA benefit from cheap IT services, no matter where they come from. If the goal is to move all IT work back to the United States, sure, it can probably be done, but it will only happen over a long period of time (this offshoring trend has been going the other way for close to 20 years), IT costs will leap, and this will feed through into consumer prices. You can expect to end up paying more for a wider range of IT-intensive services such as banking, telecomms, airlines and transportation.
Oh, and, by the way, don’t expect an increase in quality. At least not until you, collectively, the consumers, are prepared to punish businesses for piss-poor service and customer support quality by walking away from them

    and telling them why

.

Facebooktwittergoogle_plusredditpinterestlinkedinmail
Facebooktwittergoogle_pluslinkedinrssyoutube

The H1-B visa hand-waving flap and what happens next

A lot of vague talk today about “H1-B visa program abuses”, but no specifics are being cited. Whenever I read vague waffle like this, I start to wonder about the rationale for any proposed changes. The cynic in me says that “abuse” is simply code for “too many damn furriners”.
There seems to be a naive assumption underpinning many of the job protectionists’ thought processes that if the H1-B visa program is scaled back, all of the IT jobs currently filled by foreign nationals will suddenly be available for Americans.
That is not likely to be the outcome. If we consider the Indian “pure plays”, who have large numbers of Indian nationals in the USA on H1-B visas, the rules may oblige them to move those nationals back to India. However, most IT work can be performed from just about anywhere in the world, unless there are certain restrictions such as national security (and H1-B holders and Permanent Residents can’t get security clearances anyway).
If the pure plays have to repatriate their workers from the USA, they will go to their clients and offer them pretty much the same range of support services as before, probably at lower rates, since they will now be back to paying Indian salaries, not lower-tier US salaries. Corporations increasingly see IT as a commodity service, so they will most likely continue to use the Indian pure plays, only this time instead of 800 people in a warehouse in Upper Podunk, they will have 800 people in a warehouse on the outskirts of Bangalore, or Hyderabad, or Chennai.
The only way that the corporations will be deterred from taking that course of action will be if they are prevented by law, or other financial disincentives like tariffs or fines, from using overseas corporations to deliver services to the USA.
There is also another reality check angle that needs to be factored into this equation. If 60,000 Indian IT workers disappear from the USA, there are unlikely to be 60,000 US replacements of equivalent experience and skills available on a short timeframe. This will result in a mad scramble for replacements, which might benefit me in the short term since it is likely to increase salaries. However, it will be damaging to US businesses in the medium term. The more likely outcome is that the US corporations will manouver to keep the workers, this time overseas.
This structural change in the job market is also unlikely to benefit many of the electors who voted for Donald Trump. (As a long-term tech worker, I can tell you that in my corporate and personal circles, open Trump supporters are in a small minority). The people in beat-down rural areas who supported Donald Trump will not see any short term benefit if the USA starts expelling tech and IT workers. Rural areas are simply not significant sources for IT and tech people. Anybody with ambitions to work in those sectors is already elsewhere, like in a major tech city.

Facebooktwittergoogle_plusredditpinterestlinkedinmail
Facebooktwittergoogle_pluslinkedinrssyoutube

Today’s round Up – 31st January 2017

1. No, Donald Trump is not a businessman
I am going to expand on this at length in another posting, but one of the great sleights of hand that Donald Trump managed to play during his successful campaign to be POTUS was that he was a successful businessman.
Donald Trump is not a businessman in any conventional sustainable sense of the word. He is an entrepreneurial deal-maker and reality TV show host who mostly sells his name as a brand to other businesses, many of which are not even owned by him or his corporations. He has no real strategy, operating in perpetual scattershot mode, trying anything that he thinks will generate a profit. His whole business career screams “man with lots of ideas but no patience”.
Successful businessmen, as a rule, do not undergo multiple bankruptcies; neither do they routinely and persistently stiff their creditors. If you look at other people in the USA that might be regarded as successful businessmen (the two examples that I like to use are Warren Buffett and Roger Penske), they also keep a low public profile, do their business mostly in private, and consistently deliver performance and value for their stockholders. Donald Trump does not even begin to accumulate a positive score on any of those criteria. the performance of his businesses is all over the map, and most of them have no sustainable business performance, which led some analysts to conclude that Donald Trump would be wealthier today if he had retired from business decades ago and invested his money in the stock market instead.

2. Theresa May, Prime Minister, this is your mess

The UK Prime Minister is now caught in a classic “rock, meet hard place” dilemna. Impaled by the decision of the UK electorate last June to leave the EU (although the UK Supreme Court has ruled that the referendum was advisory, not binding), she did bag the first audience by a foreign leader with President Trump. She probably feels that she needed that, since if the UK leaves the EU, and the USA crashes NATO, the UK will be very short of friends in the West. However, it seems that her decision to offer Trump a State Visit (an honour that is not handed out very often to visiting leaders) has pissed off the Queen. Trump is clearly terrified of having to talk about climate change with Prince Charles, but the protocol of a State Visit is that the monarch is in charge of the arrangements, and the visiting leader is supposed to regard it as an honour that Her Majesty has invited him, so Trump may have to sip his tea and listen politely to Prince Charles’ prattlings. That is, if the visit even goes ahead. There could be all sorts of future events that would require a “postponement”.
In the meantime, the rock-hard place fun continues, with a vote imminent on whether the UK should trigger Article 50 and formally ask to withdraw from the UK. If this was a free vote (a vote where party leaders do not instruct their MPs on how to vote) i suspect the vote would be No. However, it is likely that the Conservative Party will order its MPs to vote Yes, which would result in a result of Yes. At that point, I expect that Scotland will demand another referendum on independence, and the power-sharing agreement in Northern Ireland will formally collapse.
In other words, the UK will start to break up. Ms. May really does not have many good choices.

3. if you voted for Donald Trump, you cannot be surprised if he does what he said he would do

This family of immigrants, several of whom voted for Donald Trump, is now surprised, shocked and puzzled that their relatives were caught up in the immigration EO fiasco.
while I emphathize with what has happened to their family members, I have limited sympathy. They knew when they voted for Donald Trump that he was promising to introduce immigration restrictions. The idea that because they were Christians that they would somehow be exempt is a plausible one, but horribly naive. This is a measure aimed at curbing immigration, period. This family is now learning the hard way that when you vote for a capricious authoritarian, his authoritarian actions will eventually hurt them. Or, to put it another way; actions have consequences.

Facebooktwittergoogle_plusredditpinterestlinkedinmail
Facebooktwittergoogle_pluslinkedinrssyoutube

Corporations and the political minefield

The $1m donation by Lyft to the ACLU might just be the beginning of new era businesses and start-ups taking positions that definably underwrite and support a progressive worldview.
Most corporate leaderships live in a bubble totally divorced from the value systems of their customers, but there are corporations whose client base is disproportionately progressive, and vice versa. We can probably rapidly write examples down on a piece of paper.
As America becomes increasingly polarized, corporations may find themselves having to answer the question “whose side are you on”? It is not a decision that any business wants to have to make, since taking a definitive position carries the risk of pissing off between 30 and 40% of your existing customers. However, I see this becoming more of a factor in future corporate decision-making.
A number of corporations are unwilling to take any position on the recent Executive Order on immigration. However, many corporations, to a greater or lesser extend, have expressed concerns about it, and in some cases condemned it.

Facebooktwittergoogle_plusredditpinterestlinkedinmail
Facebooktwittergoogle_pluslinkedinrssyoutube

The re-discovery of the idea of “respect the President”

One of the more amusing events since the inauguration of President Trump has been the speed with which the GOP supporters have begun demanding that people “respect the office”, “give the President a chance”, “stop dividing us” etc. etc.
That does make me laugh inwardly and outwardly. It seems only a few months ago that a lot of GOP partisans were still vituperating about President Obama, still trying to de-legitimize every aspect of his Presidency, right down to the umpteen hundredth recycling of the “muslim” and “not born in the USA” memes.
Today I Unfriended one person on Facebook who thought it was amusing to print a tabloid’s latest expose of the Obamas. That person can continue to post muck-raking juvenilia in their own world, but I’m not interested in it. Another person, as of today, is in the Last Chance Saloon because he decided to sign on to a meme about President Obama being a supporter of ISIS. That person will be gone if they ever post any more crap like that.
Now the same group of supporters want me to “respect the President”?
Sure. I will provide the same respect to President Trump as you juvenile conspiracy-addled baying children provided to President Obama. Actually, I will show President Trump slightly more respect, in that I promise to focus purely on his performance as POTUS and the respect that he shows to alternative ideas, opposition, the Constitution and the governance processes within the USA.
Deal?

Facebooktwittergoogle_plusredditpinterestlinkedinmail
Facebooktwittergoogle_pluslinkedinrssyoutube

The exercise of economic power by the citizenry

In a capitalist society, the only power that really matters in peacetime is economic power.
If large groups of disaffected people want to create attention for their objectives, economic power, aggregated across a large group, is considerable.
Therefore, boycotts of businesses and industries that act in ways contrary to the objectives of disaffected groups is not only an option, it is one of the few ways in which businesses can be forced to respond to disaffected people. (the reverse, of patronizing businesses that do support the objectives of a group, is part of the tactics and strategies also).
A 10% drop in revenues for a major retailer will immediately force that retailer to take actions. Sure, they can respond in ways that, in the short term, look to be counter-productive for many people , such as closing outlets and other facilities. However, any business that loses 10% of its revenues simply because the officers of the company and the leadership supported actions by political parties that people found objectionable is going to come under immediate stockholder pressure (up to and including lawsuits) to address the issue. Stockholders want the fortunes of the corporation to continually increase, not decline. They are not going to willingly sign on for a corporate contraction if the solution to address (for example) a consumer boycott is to publicly move off of some ideological position that they originally adopted in the interests of short-term expediency.
At this point in the history of the USA, we are starting to see the onset of authoritarian actions by a central government that is totally controlled by one political party, with many state governments also controlled by that party. The only acceptable and usable short-term counter to authoritarian actions in a capitalist society is economic power. Marches and demonstrations can certainly keep the opposition in the media, but by themselves they are unlikely to effect short-term change. Until the next Federal election cycle in 2018, principled opposition to the sorts of authoritarian horseshit currently being implemented has to include the exercise of economic power.

Facebooktwittergoogle_plusredditpinterestlinkedinmail
Facebooktwittergoogle_pluslinkedinrssyoutube

Below the surface – perception of voting dynamics in the US heartland

One of the perpetually puzzling aspects of voter behavior in the midwest and heartland of the USA, as seen from a progressive viewpoint, is the extent to which poor and economically depressed areas of the country vote Republican, despite the reality that Republican actions to reduce or eliminate “safety net” programs will negatively impact those areas, and despite Democratic party support for measures such as the Affordable Care Act, which have resulted in a large number of people now enjoying health coverage for the first time.
Whenever the decisions of humans collectively fail to make sense, it is tempting to write those decisions off as the result of stupidity, indoctrination or some other defective decision-making process. While attractive, this is self-reinforcing for the worldview of the person engaging in the dismissal, while also absolving them of further responsibility for analysis. (Think of the phrase “they don’t get it”. This is most commonly deployed as a discussion-closing dismissal).
If you go back far enough, everybody in the continental USA is a descendant of immigrants. However, when considering the dynamics of the modern USA, it is probably best to start with the original European settlements, which gave rise to the modern USA.
One interesting pattern that sociologists have noted is that the descendants of recent immigration (starting at the end of the 19th century and continuing to the present day) lean to the left and Democratic in their voting patterns.
A paper that I discovered online (and did not bookmark, so now I am unable to find it) discusses this difference and contrasts it with the voting patterns of the heartland. The paper explains that there were effectively three waves of immigration into the USA:

Wave 1: 1760 to 1840
Wave 2: 1840 – 1890
Wqve 3: 1990 – present day

The thesis of the paper is that the Wave 2 immigrants settled the midwest and the heartland, coming mostly from Ireland, Scotland and to a lesser extent Germany and Scandinavia. Many of the moves were triggered by social upheaval (a good example being the Potato Famines in Ireland, which led to mass emigrations). They brought with them the rugged individualism mindset (essential in an era where they grew up in an agrarian society) and a deep suspicion of government, who had in many cases, by arbitrary and capricious discrimination, tossed them from their original places of residence. Those immigrants, nearly all white and religious, are the original antecedents of many heartland Americans, and many of their values still exist today in their descendents.
Wave 3 immigrants are much more ethnically diverse, comprising, in many cases, people from minority communities who were victims of persecution (the classic example being Jewish people who increasingly emigrated to the uSA in the early years of the 20th Century as anti-Semitism arose in Europe). Rather than government persecution based on the fact that they were poor, the persecution was in many cases based on the fact that they were more educated and successful than the majority communities in which they lived. Those immigrants tended to settle in coastal cities and clustered in the North East and (to a lesser extent) the West Coast, and tended to avoid the heartland. They brought with them values of hard work, but also of education and the need for governments to be protectors of social justice and the integrity of the legal system.
So, if you find the thesis in the paper to be compelling, part of the difference in voting patterns can be explained by the differing origins and careabouts of the newly arrived populations of different parts of the USA.
Now, the wretched question of why those damn rural voters vote against their better interests?
It turns out that there is a rather simple answer. It is explained in this article here.
The people who really are at the bottom of the heap – the really poor, chronically unemployed etc. etc. are unlikely to vote. This is not news. We have known for a while that, in most democracies, non-voters are disproportionately comprised of poor and marginalized groups. They have given up on participating in a system that they probably believe is rigged against them.
The people who are driving voting patterns in many rural areas are the people the next level up on the economic ladder. They are mostly employed, but they feel insecure, simply by looking at the people below them, they are probably thinking “I could be like those guys if things get worse”. They are seeing increasing dependence on welfare by the people below them (in an economically depressed area this is kind of a “Duh!” thing that is bound to happen) but that makes them resentful of those people, who they regard as unable or unwilling to better themselves. Hence the juvenile slogans about “moochers” and “takers”. It is a defensive variant of Othering, the separation of the world into the Deserving (Me and Folks like Me) and the Undeserving (those moochers and takers and People Not Like Me).
In this climate of FUD, political messaging based on resentment memes will find a ready audience. The GOP messaging of self-reliance and personal responsibility also resonates with potential voters who are not at the lowest economic level. It is part of the inherited value system of the heartland immigrants. Get government out of the way, the values say, and everybody will be better off.
if you want a compelling example of how distorted the voting behaviors can apparently become, this article about rural Kentucky throws the paradox into sharp relief. However, it is only incomprehensible if you think that the poorest people are the GOP voters. The people who gave Donald Trump 82% of the vote in Whitley County KY were not the long-term unemployed, who most likely would be eligible for Medicaid (if they were able to work out how to use it). The ACA proportionately helped working people, who still, despite the help, voted overwhelmingly for Donald Trump. While some of the reasoning in this article by supporters of Donald Trump seems to lie somewhere between cloud-cuckoo land and fantasy island (especially the idea that Trump didn’t really mean it when he and the GOP said they would repeal the ACA), the underlying discontent with “business as usual” politics, and the visceral appeal of Donald Trump to people who are fed up with stagnant wages and declining economic activity in their local regions completely negated any single benefit from the ACA.
Goerge Lakoff would, at this point, be nodding his head and explaining that the result in the heartland are perfectly comprehensible when you realize that people vote values, not policies. That is another reality that has to be overlaid on the electorate to fully understand the paradox. However, at its heart, the seemingly puzzling failure of electors to vote their own self-interest is not actually a paradox at all if you understand how various economic tiers participate in the electoral system.

Facebooktwittergoogle_plusredditpinterestlinkedinmail
Facebooktwittergoogle_pluslinkedinrssyoutube

Being a dick and the art of apology

I had somebody march into one of my Facebook comment threads and be a dick the other day.
Specifically, that person played the tired “if you don’t like it here then leave” card.
There are a whole host of reasons why that, on any logical level, is a really bad argument.
However, there is one overriding problem with it.
Anybody deploying it is being a dick, and therefore is likely to piss me off.
Now, as a general rule, it takes quite a lot to piss me off. However, the combination of lousy argument skills, plus being a dick online, is one way to do it.
The question is: if somebody pisses me off, and they want to repair the damage, what do they do?

The answer is two-fold:
1. Write an unconditional apology in the same forum that the original, dickish comment or posting was made (if you made the dickish comment in public, you owe the apology in public. Don’t be a weasel)
2. Don’t be a dick again. (an apology for bad behavior has limited value if the person making the apology then continues with the bad behavior. It’s a credibility issue).

Some people seem to have a real problem with the concept of an unconditional apology. It’s a statement of the form “I am sorry that I said/did X”. End of statement. No Ifs Ands or Buts.
Thus, the following variants don’t make it:

1. an attempted apology along the lines of “I’m sorry but…”. The “but…” is usually some elaborate post hoc justification for the original dickish statement that, when the recipient parses it, adds up to “I’m sorry but you deserved it”. That isn’t an apology. The term for it is “doubling down”.
2. the favorite construction used by politicians, “I’m sorry if you were offended”. In that latter case, the person attempting the apology is saying (in as many words) “I was right, and I don’t regret it, but that over-sensitive little snowflake over there seems to be all bent out of shape so I will throw them a rhetorical bone. There, snowflake, you’ve got your apology, now quit whining”.

Of course it would be much better if people didn’t write stuff to begin with that makes them look like a dick. Really.
There is a simple two-part rule that I invoke before I hit send on a comment or posting. The rule goes something like “am I about to send something I may regret in more than 24 hours time, and would I be prepared to say that to the person’s face, if it is a personal comment?” Sometimes I sit on contentious postings for a day or so, in order to ensure that I am not merely reacting without thinking or analyzing enough. Do I always get it right? Not always. I have had to apologize online in the past. But if you have to, you take it on the chin and move on. If the person you pissed off isn’t satisfied with an unconditional apology, there is probably something else in the relationship dynamic that is doomed in any case.

Facebooktwittergoogle_plusredditpinterestlinkedinmail
Facebooktwittergoogle_pluslinkedinrssyoutube

Empathy vs. sympathy

I grew up in public housing in the UK, in a decidedly ratty blue-collar housing estate.
Along the way, I was stigmatized based on where I lived, and learned the hard way how unforgiving both judgmental people and the English class system can be.
However, one thing I noticed early on was that many people on my housing estate, instead of working to better themselves, were content to live off government benefits and live an aimless life. They lacked any willingness to step outside of what they knew and what their parents did. I found the phenomenon of multi-generational welfare dependency in several households, where the parents had never worked for any length of time, instead choosing to have multiple children and game the system. That was certainly not the message that I got from my parents and immediate family members.
Now, gaming the system is regarded differently by many people, depending on where you are in the societal pecking order. For example. hiring a crackshot accountant to ensure that you pay as little tax as possible on your millions earned as a CEO is regarded as perfectly normal (required even), whereas having 2 more children to gain more income is regarded by those same approvers of high-earner tax avoidance as some heinous crime. That is a pernicious double standard that usually tells me more about the selective bubble worldview of the accuser than they perhaps intended me to understand.
However, one of the results of my experiences in growing up, escaping from blue-collar drudgery, and eventually moving countries, is that empathy and sympathy are two different things.
I can be empathetic if I come across people living in grinding poverty who are clearly struggling. (If I was not empathetic, I would be worried about whether I was becoming sociopathic). However, I may have greater or lesser sympathy depending on whether those people are trying to move on and upwards by making good decisions, or whether they are either passively accepting their fate and/or making bad decisions.
It’s like people who claim that they are always getting into trouble. When I talked to several people in the UK who complained that they had been robbed and harrassed, I soon found out that they had been going to areas of cities that were known for being sink-holes of trouble. If you want to stay out of trouble, it’s a good idea to not go to trouble spots. This is basic common sense. It’s also the same reason that every few years when I lived in the UK, we would read about some British tourist who was captured by guerillas or some other insurgent group while hiking in a country usually named something like Afghanistan. I would shake my head in amazement that somebody would think it was a good idea to hike in Afghanistan. It’s like seeing a sign saying “minefield” and setting out to hike across it, or walking out in the middle of nowhere with a sign on my body saying “Hello I am a stupid tourist who can be used as a bargaining asset. please kidnap me”.
At the end of the day, as JD Vance has pointed out in his book “Hillbilly Elegy”, we all have agency. We can sit around and play the role of victim, or we can try to move on. Vance, like me, escaped from blue-collar penury, and, like me, can see both sides of the picture.
Governments really don’t have much of an answer to the “hollowing out” trend, because it would require them to admit things publicly that call into question the integrity and effectiveness of the capitalist model of governance. They continue to trust in market forces to generate enough employment, ignoring the reality that this cannot generate enough employment, in fact the number of jobs is shrinking due to the combination of automation and offshore migration of jobs and industries, and more and more people are trapped in areas with chronic economic depression and high structural unemployment (like my home town).
A lot of the people who are angry and frustrated about their lot in the modern USA have every right to be angry. The country has become progressively more unequal over the last 40 years, with the quaint idea of “trickle down” clearly not working in practice. I personally know people who are having to work 2 jobs just to get enough spending money for modest items. However, people who decide to play the victim 24×7 and expect others to wave a magic wand and Fix Their Lives (with Donald Trump seemingly being many people’s idea of the Guy Who Will Make Everything Right) do not get much sympathy from me. They do need to show some initiative of their own.
The rigid determination of many heartland Americans to stay put in towns that have no possible means for economic improvement is, on one level, admirable, but on another level is damn near incomprehensible. In the past, humans would completely abandon towns and cities if they were no longer useful or safe places to live. Maybe that needs to happen more frequently today.

Facebooktwittergoogle_plusredditpinterestlinkedinmail
Facebooktwittergoogle_pluslinkedinrssyoutube

“Parliament of Whores” and its applicability to the Trump era

So much of the enthusiasm for Donald Trump seems to be based on a deep nostalgia for The Good Old Days, that I was reminded of this section from P.J. O’Rourke’s book “Parliament of Whores”, where he constructs a cue card to allow a hapless Congresscritter to decide what to do at voting time for yet another bill. The bill seems to me to be just the sort of bill that Donald Trump and his bunch of sycophants would have dreamed up in the current climate:

Bill Number: H.R. a billion-zillion

Title: Fiddlemeyer-O’Houligan Unbelievable Grocery Bill

Detail: Amends the federal anti-trust laws to make the price of everything reasonable, like it used to be, and includes provisions requiring kids today to listen up when their dad talks to them

Committee Action: Passed by the House Means and Ends Committee 3/17/90

Pros: Constituents will murder you in November if you oppose it

Cons: President will kill you right now if you support it

Verdict: A toughie

Prior Votes : The 100th Congress was going to pass it, but a lobbyist ate their copy of the legislation.

Recommendation: Hide in the cloakroom during floor vote

Facebooktwittergoogle_plusredditpinterestlinkedinmail
Facebooktwittergoogle_pluslinkedinrssyoutube
Healthprose pharmacy reviews