text:
Select Committee on European Union Sixteenth Report
CHAPTER 4: MONITORING COMPLIANCE
Monitoring the passage of legislation
84. The Communication goes further than its predecessor, the 2001 Decision, by including a new separate section entitled, "Monitoring respect for fundamental rights in the work of the legislature". The Commission, and especially the Group of Commissioners (described below), are to monitor "the work of the two branches of the legislative authority" (i.e. the Council of Ministers and the European Parliament) in order to ensure compliance with fundamental rights. The Communication continues: "The Commission will defend the standards for the protection of fundamental rights laid down in its proposals for legislation and will warn against any unjustified violation of them by the legislature".[41]
85. We asked the Commission what was envisaged in practice. Dr Ladenburger explained that the Commission would react whenever amendments were presented by the Council or Parliament which it could not accept because it believed they violated fundamental rights. He made clear that the Communication would not require the introduction of specific new measures. It was merely a statement that the Commission was resolved to use its normal authority, as a participant in the legislative process, to defend human rights (Q 25).
86. ILPA was sceptical as to how effectively the Commission would maintain a strong human rights position. Experience in relation to Justice and Home Affairs matters had not been promising. Professor Guild said: "the engagement of the Commission officials in brokering a compromise among the Member States in the Council and with the Parliament has the tendency of compromising their position as an independent actor in assessing whether or not fundamental rights continue to be complied with". Where the negotiations took place against the background of a political or Treaty deadline, "the political pressure to reach agreement at all costs leads to a diminution of standards". ILPA did not have great confidence that the Commission would carry out effective monitoring throughout the legislative process. They doubted whether the new Group of Commissioners would add much (Q 89).
87. Notwithstanding the strengths and merits of the methodology set out in the Communication, any system of proofing EU legislation which is solely internal to or dependent on the Commission is subject to two criticisms. First, as Statewatch pointed out, no system of ensuring that EU measures are compatible with fundamental rights can be effective unless the Council and the European Parliament also ensure, throughout their role in EU legislative and decision making processes, that final texts are compatible with fundamental rights. Second, however admirable internal regimes may be, experience, particularly in the United Kingdom context, would suggest that independent expertise from outside the administration may be needed to inform and, where necessary, act as a check on the actors during the legislative process.
88. Baroness Ashton of Upholland believed that the European Parliament, and in particular the Committee on Civil Liberties, Justice and Home Affairs ("the LIBE Committee"), could play a role in monitoring the legislative process. The Minister said: "[The LIBE Committee] has the capacity to take on many of the functions of the Joint Committee on Human Rights as we know it in our Parliament. We must bear in mind, with the amount of proposals that come out of the Commission, the fact that it probably would be impossible to do all of them, but it certainly can look at, and does look at, proposals that are important to it. The Parliament has its own role in addition to that" (Q 122).
89. Viewed from our perspective, and particularly in light of the work of the Joint Committee on Human Rights, it seems a little odd that the Commission should be monitoring the legislative process rather than the European Parliament. As the Minister suggested, there is a monitoring role for the LIBE Committee to develop. We greatly encourage it to do so and would welcome the opportunity to discuss with them how best this might be done and what assistance might be given by national parliaments.
Annulment proceedings
90. The Communication also states that the Commission reserves the right to initiate annulment proceedings (under Article 230 TEC) where it considers an infringement of fundamental rights has occurred and "there is no possibility of interpreting the act adopted as being compatible with fundamental rights". The Communication acknowledges that such proceedings would be "a last resort".[42]
91. We queried how timely and effective an approach annulment proceedings were to the problem. It is always possible for the Commission to withdraw or alter its proposed legislation before adoption by the Council (Article 250(2) TEC) and so avoid what would seem to have been the most blatant violation. Further, the European Court of Justice might give short shrift to an application to strike down the whole or part of a measure which the Commission had apparently (if only by its silence or inaction) accepted.
92. Dr Ladenburger did not accept this assessment: "First, the extent of and the conditions for the Commission's right to withdraw are, as you know, not entirely settled in Community law yet; second, the Commission may find it preferable to bring a well defined human rights question before the Court of Justice rather than to block an entire legislative procedure in which it has high interest; and, third, this way of proceeding may be particularly appropriate where it is possible to challenge only particular detachable provisions of a legislative act rather than the act as a whole" (Q 26).
93. The NGOs acknowledged that the Commission's ability to bring annulment proceedings in the event of an infringement of fundamental rights was potentially an important means of protecting fundamental rights. But again there was an element of scepticism in their comments. Statewatch said: "these are empty words if the Commission does not take the opportunity to bring proceedings against acts which deserve to be challenged on such grounds—in particular the asylum procedures Directive and Framework Decision on data retention, which are due to be adopted shortly" (p 52). ILPA commented: "We look forward to the day when the Commission will match this high-sounding rhetoric with real action, but we remain to be convinced that we will see this any time soon" (p 25).
94. The Commission's right to bring annulment proceedings is very much a last resort and its exercise may be complicated by political and procedural considerations. We would prefer to see the Commission being more active during the negotiation of legislation in resisting any amendment which may violate fundamental rights and where necessary exercising its right to withdraw or alter its proposed legislation before adoption by the Council.
The Group of Commissioners
95. In September 2004, shortly after taking up his Presidency of the new Commission, Mr Barroso issued a Communication on the functioning of the Commission.[43] He set down key principles designed to govern the Commission's work and to strengthen the collegiality of Commission policy-making and decision-taking. The 2004 Communication provides: "New momentum needs to be given to the use of groups of members of the Commission … to prepare the work of the College and to provide policy input and guidance".[44]
96. Five groups[45] of Commissioners have been established, including the Group on Fundamental Rights, Anti-discrimination and Equal Opportunities ("the Group"). It is intended that the groups should, within particular "families" of Commissioners or particular policy areas or issues, contribute to the better preparation and coordination of the Commission's activity, taking account of the Commission's priorities and the political guidance given by the President.[46] The groups are not empowered to take decisions on behalf of the College of Commissioners.
The Fundamental Rights, Anti-Discrimination and Equal Opportunities Group (CG4)
Participation:
—Chair: President
—Vice Chair: Commissioner for Justice, Freedom and Security
—Commissioner for Institutional Relations and Communication Strategy
—Commissioner for Administration, Audit and Anti-fraud
—Commissioner for Information Society and Media
—Commissioner for Education, Training, Culture and Multilingualism
—Commissioner for Enlargement
—Commissioner for Development and Humanitarian Aid
—Commissioner for External Relations and European Neighbourhood Policy, and
—Commissioner for Employment, Social Affairs and Equal Opportunities.
Mandate: Its mandate is to:
—Drive policy and ensure the coherence of Commission action in the areas of fundamental rights, anti-discrimination, equal opportunities and the social integration of minority groups;
—Ensure that account is taken of gender equality in Community policies and actions, in accordance with Article 3.2 of the Treaty.
Proposed frequency: every 3 or 4 months.
Preparation: Mixed Cabinet-Services group, chaired by a Deputy Secretary-General.
The other groups are the Lisbon group (CG1), the Competitiveness Council Group (CG2), the External Relations Group (CG3), and the Communications and Programming Group (CG5).
97. Dr Ladenburger explained that the main remit of this Group in practice would be to prepare Commission initiatives for adoption by the College (Q 46). In this context we note that the Group has responsibility for taking forward the proposals to create an EU Fundamental Rights Agency (which would replace the European Monitoring Centre on Racism and Xenophobia (EUMC) and have a wider mandate) and a European Institute for Gender Equality (to combat sex discrimination in the EU and promote equality between women and men), as well as formulating an anti-discrimination strategy. Both these proposals are currently held under scrutiny by the Committee.[47]
98. The Communication states that in addition to the monitoring of compliance with the Charter carried out within the Directorates General, it is "nonetheless important that Members of the Commission, especially those in the Group … keep a close eye on its operation and the main results".[48] JUSTICE welcomed the fact that the Communication envisages the Group being kept informed on a regular basis and hoped that information would not be limited to cases where fundamental rights have been subject to internal monitoring (p 26).
99. The Legal Service will in practice have the job of keeping the Group informed of developments and preparing a general appraisal of internal monitoring in 2007. The report is to be prepared in conjunction with the Justice, Freedom and Security DG and the Secretariat General of the Commission. The Communication indicates that the report may include proposals to amend or supplement the procedures described in the Communication.[49]
100. The Communication also envisages that the Group may produce policy guidelines "in very special cases where proposals require a careful balance between several opposing fundamental rights". The Communication acknowledges that its guidelines could not exceed the margins for political discretion afforded for the provisions of the Charter.[50] The Law Society supported the idea that the Group should produce policy guidelines for the case where fundamental rights have to be weighed up against each other. Such guidelines should be drawn up with reference to the case of the European Court of Human Rights, which had much experience of balancing competing rights under the ECHR (p 50).
101. ILPA doubted whether the Group could play an effective monitoring role if they could not impose sanctions where inadequacy was found (QQ 68, 70). The Government were waiting to see how the Group proposed to take forward its work (Q 125).
102. We wait to see how active the Fundamental Rights Group will be and what effect the Group will have on the development and implementation of Union legislation and policies enhancing respect for fundamental rights.
Monitoring Member States
103. The Communication is, as already mentioned, principally limited to the internal legislative processes of the Commission and its monitoring of others restricted to the law making and decision taking processes of the Council and the Parliament. We asked whether the Commission should be monitoring compliance with human rights in relation to Member States' implementation and application of EU measures.
104. Dr Ladenburger replied that it was a conscious choice of the Commission to restrict the scope of the Communication to the institutions and first and foremost the Commission. Failure of a Member State properly to implement Community legislation, including a violation of fundamental rights, would be a matter on which the Commission could bring infringement proceedings under Article 226 EC (Q 39).
105. Statewatch acknowledged that monitoring Member States' implementation of Community law would entail a different process than that described in the Communication. The matter was, however, of "critical practical importance" and Statewatch urged the Commission to consider developing such a process: "One element of this could be the issue of interpretative communications by the Commission, suggesting interpretations of relevant EU measures that would ensure the full compatibility of those measures with human rights obligations. Another could be reflecting on the use of the infringement procedure" (p 51).
106. Both JUSTICE and ILPA saw a role for the Fundamental Rights Agency in monitoring Member States (QQ 92-93). As we explain below, the role of the Agency in this regard is controversial.
107. Ensuring Member States' respect for fundamental rights within the scope of application of EU law is a matter of concern, as recent developments surrounding the European Arrest Warrant demonstrate.[51] Monitoring Member States is, however, a matter outside the scope of the present Communication.
Strengthening the role of Parliaments
108. As mentioned above (paras 70-73), attention has been drawn to the lack of external control or supervision of the mechanisms proposed in the Communication.
109. JUSTICE believed that the Fundamental Rights Agency and national parliaments had an external scrutiny role to play (Q 95). ILPA looked more to the European Parliament: "we have seen the democratic arm of the European Union, the elected part, perhaps more sensitive to fundamental rights issues than any of the other institutions, barring of course the ombudsman" (Q 99). Professor Guild said: "It seems to me that the protection of fundamental rights in any liberal democracy is intrinsically tied to the Parliament; it is the job of the Parliament, it is not a job of the Executive" (Q 100). She did not believe that the proliferation of bodies was necessarily the answer, but the reinforcement of existing committee structures (including the LIBE Committee) and widening the remit might provide a more effective mechanism (Q 101).
110. The Communication views the European Parliament as one subject for the monitoring to be undertaken by the Commission. But it prompts the question whether the Parliament, and in particular the LIBE Committee, should also assume an active role in monitoring draft legislation for compliance with fundamental rights. As Statewatch suggests, consideration also needs to be given to whether more could be done by national parliaments. Greater involvement by the European Parliament and by national parliaments would go a long way to address the perceived democratic deficit in the mechanisms promoted by the Communication.
The Fundamental Rights Agency
111. The Communication envisages a role for the Fundamental Rights Agency ("the Agency"): "Its activities and work … should be used as input for the methodology".[52] At present the Agency is merely a proposal,[53] but the Commission is proceeding on the basis that it will be operational in 2007. However, the extent of the Agency's mandate and its relationship with the EU institutions and the Member States are, as the Minister explained, subjects on which there are widely differing views (Q 127). Baroness Ashton of Upholland said: "We do not see it as having a role with individual Member States but we recognise that it would want to work across Member States … in looking at analysis of data, making sure we have consistency of view, and so on" (Q 128).
112. JUSTICE expressed concern about the reference to the Agency being "used as input for the methodology". JUSTICE said: "it is not quite clear what is understood by this, especially when uncertainty still exists surrounding the exact scope and remit of the FRA" (p 26). Statewatch was also critical of the Communication for not going far enough in spelling out the role that the Agency might play. Nor did the Communication address the position of the existing Network of independent experts (p 52).
113. JUSTICE saw the Agency as having a role in pre-legislative scrutiny as well as implementation (Q 92). The Law Society also wanted the new Agency to undertake pre-legislative scrutiny: its expertise should not be limited to formal consultations undertaken by the Commission but should be sought during preparations of any proposal affecting fundamental rights. In the Law Society's view, the expertise and data collected by the Agency "should feed into the Commission's impact assessments and its legal analysis of compatibility with the Charter" (p 50).
114. But the Government were cautious as to whether the Agency should take on such a role because of the possible implications for resources and therefore for what else the Agency would be able to do (Q 129).
115. We asked the Commission whether it was envisaged that the Agency would act as a scrutineer during the process of the legislation, with its own procedures and conclusions being open to the public. Dr Ladenburger thought that the Agency's input would not be limited to the methodology itself. It would also address substantive questions, in the sense that the Commission would be able to make use of the research, data, analyses etc of the Agency. Dr Ladenburger accepted that the possibility of the Agency scrutinising proposals and draft legislation was something to be considered (QQ 18-19).
116. As mentioned above, the Fundamental Rights Agency is currently only a proposal and there are differing views on what its role should be, not just in relation to draft EU legislation but also the Member States. There is also a need to make clear how the work of the Agency would relate to the well-established role of the Council of Europe concerning the definition and safeguarding of human rights.[54] The proposal raises a number of concerns and is currently held under scrutiny. We shall pursue these questions further in that context.
41 Communication, at para 28. Back
43 Commission's Communication of 21.12.2004 on the functioning of the Commission and internal coordination ((SEC) 2004 1617/4). Back
44 Ibid, at para 28. Back
45 The Commission's Rules of Procedure enable the President to set up working groups of Members. See Article 3 of The Rules of Procedure of the Commission. C (2000) 361, [2000] OJ L308/26. Back
46 The 2004 Communication on the functioning of the Commission envisages the groups contributing to the improved implementation of the Commission's political priorities with its Annual Work Programme, developing a medium term strategic vision for broad policy areas within their responsibility, and providing policy orientations at an early stage for important issues (e.g. prior to the drafting of Green Papers, Communication, work on impact assessment etc). They would also prepare, at the request of the President, items to be placed on the agenda of Commission meetings. Back
47 The proposal for a Fundamental Rights Agency (doc 10774/05) is held under scrutiny by Sub-Committee E. The proposal for a European Institute for Gender Equality (doc 7244/05) is held under scrutiny by Sub-Committee G. Back
51 The German Constitutional Court has recently struck down the way in which Germany has implemented the Framework Decision on the European Arrest Warrant. See Bundesverfassungsgericht Press Release no 64/2005 of 18 July 2005. Back
53 Proposal for a Council Regulation establishing a European Union Agency for Fundamental Rights and a proposal for a Council Decision empowering the European Union Agency for Fundamental Rights to pursue its activities in areas referred to in Title VI of the Treaty on European Union. COM(2005) 280 final. The proposal is currently held under scrutiny-doc 10774/05. Back
54 The Hague Programme: a five year agenda for EU justice and home affairs (10th Report, 2004-05, HL Paper 84, at para 15). Back


Back to back seasons. First Michael Vick. Then the Eagles. The Packers' exits in the 2002 and 2003 playoffs were as heart-wrenching as you could ask for (that is, until 2008 when the Favre era ended in OT at frozen Lambeau Field). Let's enter the way, way back machine for a moment.
2002 Falcons at Lambeau. The Pack enter the game considerable favorites after finishing the season as the only team to finish unbeaten at home. 31 degrees and light snow. Favre never loses these games. Ah, but Vick and the Falcons run the Pack off the field 27-7 and for the first time in his career, Favre takes off without talking to the media.
One year later, the Pack squanders a chance at a bye, being blown out by the Jets. After disposing of the Seahawks in the wildcard round, they head to Philly to face Donovan McNabb and the Eagles. This the one the Packers gave away. Up early 14-0, then with a chance to end it facing a fourth and one on the Eagles 41 late with a three point lead, Mike Sherman elects to punt. Eagles ball, Pack's D stiffens and Donovan faces a 4th and 26--and somehow finds the forgettable Freddie Mitchell for a 28 yard gain. It leads to a FG and the game goes to overtime, where Favre throws a ridiculous interception on the first offensive play and the Eagles drive and score to win the game.
First Vick, then the Eagles. This weekend we get a chance at retribution against them both. It's so difficult to gauge what kind of team will take the field. The Eagles are a young bunch who are playing a lot like those '03 Packers, a team that gave up a chance at a bye with a bad loss late. Philly's Week 16 loss to the Vikings exposed them as a young team that's 100% reliant on Vick. He took a tough hit right away and felt it the rest of the night. He's still nursing that quad injury but sounds like he'll be close to, if not 100% by Sunday.
Yes, they have young, dynamic offensive playmakers. LeSean McCoy is a good runner with breakaway speed and is a threat as a receiver. DeSean Jackson and Jeremy Maclin make a great receiving tandem and Brent Celek is a good pass-catching tight end. Where they struggle up front--with a mediocre line that has gotten a free pass thanks to the artistry of the QB.
Where the Eagles are different this season is on defense. There's no Brian Dawkins policing the back of the defense and the secondary is getting shredded. The gimpiness of CB Asante Samuel hasn't helped, but as a team they've given up 30 TD passes and are last in the league in red zone defense. They give up big plays--54 of them of 20 or more yards, that's 9th most in the league.
So while the Packers looked out of kilter offensively for much of the Bears game, they will face a much different defense this week. And the Packers have six days to prepare for Vick, not the 15 minutes they got in the season opener when they knocked Kolb out of the game in the first half.
A win over Vick and the Eagles won't erase what happened in '02 and '03. But it would be an important next step in Aaron Rodgers' development--to go from fantasy football stud to post-season winner. If he wants to be mentioned in the same breath with Brady, Manning, Brees and Ben, this is the kind of game he needs to win.
An outstanding share! I have just forwarded this onto a friend who had been doing a little research on this. And he actually bought me lunch simply because I discovered it for him... lol. So let me reword this.... Thanks for the meal!! But yeah, thanx for spending some time to discuss this subject here on your blog.
Today found your site while browsing on yahoo for some information.Excellent post. Just emailed your link to a colleague who I think would also be interested in your excellent content.
i have alot of flies in my chicken house what is a good repellant? iput down pine bark and that helps a little.
Sinny, I love you man, but your memory is a little foggy. The loss at Philly was not in the Wild Card round. The Pack beat Seattle in the infamous "We want the ball and we're gonna score" game where Harris picked off Hasselback in OT. 4th and 26 was the next game. Either way, painful.
This is the game that the Packers can prove whether or not they are for real. Is the "#2 defense" a mirage or reality? Is A Rodge a fantasy football dream and pressure situation dud? Can Mike McCarthy call a play in a crucial situation? Packers have the personnel to do what the Vikings did to the Eagles (Woodson blitzing off the edge anyone?!) the only question is, can they execute it? Nails will be bitten down to nubs until Sunday night. Go Pack!
I don't have any nails left. I bit them all down during the rose bowl and the bears game....curse that low calcium diet. Go Pack!
Dave, '02 pre Atlanta was the Jets debacle. '03 pre Philly was the year we matched up with the AFC west. Think Ahman Green's long run against Denver, Brett's night against the Raiders and a certain receiver from Arizona making a great catch against a certain local team :) That 03 team was healthy, '02 was not. '03 was a reaal shame. Great running game that year!
You're so awesome! I don't suppose I've read through anything like this before. So great to discover someone with a few unique thoughts on this subject matter. Seriously.. thank you for starting this up. This website is one thing that's needed on the web, someone with a little originality!
Thanks a lot for providing individuals with an extremely marvellous possiblity to discover important secrets from this site. It can be very fantastic and as well , full of a great time for me and my office mates to visit your site on the least three times in a week to learn the new stuff you have. And lastly, I am just actually happy considering the excellent solutions you give. Selected 4 areas on this page are clearly the most impressive I've ever had.
This web site certainly has all of the information I wanted concerning this subject and didn�t know who to ask.


The Garmin Vivoactive is a smart activity tracker that can keep pace with even the most active lifestyles. From its integrated GPS to its dedicated app store, there's a lot to like in this svelte smartwatch hybrid.
13 Jun 2018, 3:43 p.m.
The Garmin Vivoactive is an incredibly light and thin activity tracker with GPS and smartwatch functionality.
The Garmin Vivoactive supports notifications from your smartphone, so you can read text messages and receive other alerts right on your wrist.
The Garmin Vivoactive watch pairs with the Garmin Connect mobile app, where you can see more details of your fitness data, such as graphs of how much you walked in a day, week, month, or year.
One of the data points that shows up right on the watch itself is your step count, with distance and calorie burn also calculated. The arch shown here reflects how close the user is to meeting their goal for steps.
Because the Garmin Vivoactive has built-in GPS, you can see a map of your run, bicycle ride, or even golf outing. GPS functionality also helps the Vivoactive accurately calculate pace, split times, and other details.
One big perk for some users is that the Garmin Vivoactive supports golf as an activity. Fore!
Outdoor activity tracking with the Garmin Vivoactive results in rich details, such as elevation changes and pace.


text:
Pollenia fumosa är en tvåvingeart som först beskrevs av Frederick Wollaston Hutton 1901.  Pollenia fumosa ingår i släktet vindsflugor, och familjen spyflugor. Inga underarter finns listade i Catalogue of Life.

Källor

Externa länkar

Vindsflugor
fumosa

redpajama_set_name: RedPajamaWikipedia


text:
Television Shows Set in San Francisco
By Kathleen Esposito
There are dozens of current and former television shows set in San Francisco. Perhaps it's because the city offers a unique backdrop with all of the windy roads and hills. Of course, not all television shows set in San Francisco are actually filmed there. Many have images of the city as exterior shots, but they are actually shot on sound stages.
The following popular TV series help keep San Francisco on the map in the heart of fans around the world:
This family-friendly sitcom, which aired from 1987 to 1995, focused on the lives of single dad, Danny Tanner, and his three girls, D.J., Stephanie and Michelle. The family lived in a San Francisco townhouse reminiscent of the painted ladies with two of Danny's single friends who moved in to help him raise his children after he lost his wife.
San Francisco Upscale Bars
San Francisco Mint State Quarters
San Francisco Courthouse Weddings
The gritty cop show aired from 1996 to 2001. It was shot on location in different areas of the city. It featured Don Johnson as a cop who raced through the streets fighting crime in his Plymouth Hemi Barracuda. The show also focused on Nash's family problems, which included strained relationships with his two ex-wives and teenage daughter.
Another show that really made use of the city's unique landscape was "The Streets of San Francisco." The show aired from 1972 to 1977. Its plot was centered around Mike Stone and Steve Keller, two homicide detectives that worked the streets in and around San Francisco. While they mostly worked to solve murders, they also handled a variety of other crime cases.
A different kind of cop show, this one centered around a detective, who just happens to have a severe case of obsessive compulsive disorder. While on psychiatric leave from San Francisco's police department, Adrian Monk works freelance with the help of Sharon Fleming, his friend who is a nurse. Monk's goal is to have enough success on his own to convince his former boss to let him become a cop again, despite his many eccentricities. This show aired from 2002 to 2009.
Airing from 1998 to 2006, this show was about three teenage sisters who discovered that they were witches. Each had a distinct magic ability, such as the power to stop time. The sisters, who were played by Shannen Doherty, Alyssa Milano and Holly Marie Combs, lived in a house in San Francisco that was often visited by evil forces.
Launched in 2010, this show focuses on the lives of the Braveman family. The lead character, played by Lauren Graham, returns home to San Francisco after getting a divorce. She is accompanied by her daughter and son, who have a difficult time adjusting to their new version of family life.
Obviously, this is not an exhaustive list of all of the television shows set in San Francisco. Find shows set in the Bay Area is to pay attention when you're watching TV. It's not too tough to identify area landmarks, such as Alcatraz Island and the Golden Gate Bridge. Once you start paying close attention, you may even be able to come up with a list of your own.
How to Access the San Francisco Chronicle Archives By Stephanie Stiavetti
Sales Tax in San Francisco By Christy Rakoczy
Weekly Rentals in San Francisco By Laurie Jo Miller Farr

redpajama_set_name: RedPajamaCommonCrawl


text:
Raytheon buys cyber solutions provider
By David Hubler
Raytheon Co. has acquired Trusted Computer Solutions, a Herndon, Va., provider of cross-domain, operating system and network security solutions. Financial terms were not reported.
M and A
MktIntell
Raytheon Co. has acquired Trusted Computer Solutions, a Herndon, Va., provider of cross-domain, operating system and network security solutions.
Financial terms were not reported.
The acquisition of the private company is the seventh transaction related to the cybersecurity market for Raytheon since 2007, further advancing the company's ability to deliver the end-to-end cyber solutions, the company said in announcing the purchase.
Founded in 1994, Trusted Computer Solutions specializes in cross-domain and cybersecurity software and services to manage and share information securely across multiple classification levels and domains.
The newly acquired company will be known as Raytheon Trusted Computer Solutions and will be integrated into Raytheon's Intelligence and Information Systems business within the Information Security Solutions product line.
The transaction is not expected to materially affect Raytheon's sales or earnings per share for the fourth quarter of 2010 or fiscal year 2011, the company said.
Raytheon Co., of Waltham, Mass., ranks No. 4 on Washington Technology's 2010 Top 100 list of the largest federal government contractors.
NEXT STORY: Election aftershocks could hit IT agenda


More than 40 MPs from the All-Party Parliamentary Group on Rural Business have written to Ofcom to highlight the need for annual monitoring of mobile operators' commitments on increasing rural 4G mobile coverage.
The cross-party group, chaired by Julian Sturdy MP, recently welcomed moves by Ofcom to maximise 4G coverage across the country. This included commitments for 500 new mobile masts in rural areas and 90% geographic coverage by all four networks across the UK. In return, Ofcom agreed to a reduction in costs for mobile operators on the upcoming sale of the 700Mhz spectrum which was freed up by the move to digital TV.
The letter has raised concerns, however, on how this will be monitored, with no obligation on mobile operators to report on successful mast completions until the end of the review process in 2024. It also notes that operators have historically been reluctant to build masts in rural areas owing to the significant costs involved.
The CLA (Country Land and Business Association) represents around 30,000 landowners, farmers and rural businesses across England and Wales and runs the #4GForAllcampaign, calling for greater investment from mobile operators in new masts in rural areas. It also provides the secretariat to the APPG on Rural Business.


text:
Madrid day 2 - Royal Palaces and common people
Today I was going to see two of the iconic sights in Madrid - the Royal Palace of the King of Spain - the Palacio Real, and the Almudena cathedral right in front of it.
Yesterday, I had been dog tired when I got back from seeing the Prado and the botanical garden - the jetlag, the disrupted sleep schedule and the lack of lunch all added to the aching feet. Slow walking in museums always leads to 'barking dogs' and the poor fellows have to support my very heavy weight!
Add to that the fact that I was wearing heavy hiking shoes this time, instead of my usual sneakers…the Antarctica boat guys insisted on waterproof hiking shoes…or at least SHE WHO MUST BE OBEYED thought that they insisted on such things. But when I saw videos of people who had done these voyages, they pooh-poohed the idea and said that there was no need for them…the boat would issue high gum boots for going ashore on Antarctica and sneakers were fine aboard ship. I wanted to carry sneakers as well, but there was no room in my baggage!
Bharathi growled at me and said 'INFIRM OF PURPOSE! CARRY ONLY THE HIKING SHOES! I COMMAND YOU!' And that was the end of that. So I bought some fancy Decathlon hiking shoes which are rated to walk on snow and stuff.
I must say that for shoes which are intended to be for walking very long distances, they are not comfortable! Hopefully I will get used to them. But till then…OW OW OW.
Anyway - as I was saying, I got back from the Prado by about 4 and thought I would lie down and rest my eyes for just a while - and the next thing I knew, it was 7.30!
I reluctantly got up and went out to make a very important purchase - A local SIM card! There was a huge Vodafone store in Plaza Sol but I saw that Vodafone Spain was as incompetent and consumer-unfriendly as Vodafone India, and the shop guys ignored me entirely! So I went to the Orange store nearby and they gave me a nice SIM with unlimited calling and 35 gigs of data for 20 Euro. The SIM was issued by machine! You just punch in what you need, show your passport to the camera - and that's it! The machine ejects a SIM!
I mean, sure - the human being could have done exactly the same thing in much less time and for much less capital cost… but what a cool machine!
I roamed about for a bit in the plaza, but the teeming crowds got to me. Ugh. I couldn't see the point of hanging about there, neither did I relish eating alone in a jam-packed restaurant. I picked up packed sandwiches and some beers from a convenience store and ate and drank peacefully in my room and crashed for the night.
The next morning, it was quiet and peaceful when I went down to the cafe and had some desayuno - huevos and bacon and fries and coffee - and set out for the Palacio Real.
I had a most pleasant walk to the Palace - it was just 10-15 minutes away and the walk was very scenic
The Royal Palace of Madrid (Spanish: Palacio Real de Madrid) is the official residence of the Spanish royal family at the city of Madrid, although now used only for state ceremonies. The palace has 135,000 m2 (1,450,000 sq ft) of floor space and contains 3,418 rooms!
It is the largest functioning royal palace and the largest by floor area in Europe.
Overcompensating much?
The site was original a moorish alcazar, or castle - an outpost created by the Muslim kings of Cordoba. Spain, as you know - was a moorish possession for centuries, ruled over by Muslim dynasties. It was a repository of light of knowledge during the dark ages, and the Muslim learned people kept the lamp of civilisation alive when the rest of Europe was in deep shit. I read about this fascinating era in the Louis L'Amour book 'The Walking Drum' and was totally …err…fascinated. Do check it out.
Then the Christain kings started the 'Reconquista' where they kicked out the Muslim Moors in 1083 ( 'The Moors last sigh' actually refers to the …er…last sigh of the moorish shah as he looked back at the capital he was leaving behind as he retreated from the conquering Christian spainiards.)
After waffling here and there for a few centuries, King Felipe II moved his court to Madrid in 1561 and settled down in the old Moorish Alcazar.
On Christmas Eve 1734, the Alcázar was destroyed by a fire that originated in the rooms of the French painter Jean Ranc. Response to the fire was delayed due to the warning bells being confused with the call to mass. For fear of looting, the doors of the building remained closed, hampering rescue efforts. Many works of art were lost, such as the Expulsion of the Moors, by Diego Velázquez. Others, such as Las Meninas, were rescued by tossing them out the windows. Fortunately, many pieces were saved because shortly before the blaze the king ordered that much of his collection be moved to the Buen Retiro Palace. This fire lasted four days and completely destroyed the old Alcázar, whose remaining walls were finally demolished in 1738.
After it burned down in 1734, King Felipe V ordered a new palace built on the same site. Construction spanned the years 1738 to 1755.
Wonder where the royal family lived till then? In tents? Or did they kick some noble out of his palace and live there?
Much like many Mumbaikars waiting for their homes to be redeveloped, Old Felipe died before he could move in - and his successor King Carlos III was the first occupant in 1764.
In the 19th century, Ferdinand VII, who spent many years imprisoned in the Château de Valençay, began the most thorough renovation of the palace. The aim of this redesign was to turn the old-fashioned Italian-style building into a modern French-style palace. However, his grandson Alfonso XII proposed to turn the palace into a Victorian-style residence and got quite some work done for that too.
The age of the kings got over with Alfonso XIII though, and he was kicked out by the 'Second republic' and the President of the Second Republic occupied the palace. This president was in turn kicked out by General Franco - and so on and so forth - and in due course of time the Palace was transferred to the government and they started allowing common people to come inside and gawk at the wonders within.
Which is good for me - because obviously I would not get admittance in this place unless I was crowned King Ketan the 1st or something like that, and was invited here by the King of Spain for a royal visit.
Since that is a pretty long shot, one must say thanks to the revolution and the spirit of democracy and all that.
So while this huge pile is the official residence of the Royal Family of Spain, they don't actually stay there - and only use it occasionally for formal functions and getting married and state dinners and suchlike.
I wondered what the current King and Royal family might feel about this place? Do they regret not being able to stay here in style like their forebears? Or are they happy to be out of it?
Like I said, the place is so large that only a selection of the best rooms are on the visitor route at any one time, the route being changed every few months.
I had to stand in line and fork out 13 quid for the privilege of getting in - and after yesterday's experience at the Prado, I was careful to wear a mask!
This mask thing is weird - they enforce it strictly inside establishments…even the Orange mobile guy asked me to put on a mask…but out of doors, no one seems to care. Half the people wear masks, half done - no one polices it. I suppose there must be severe fines for the establishment from the health department if a health inspector catches people not wearing masks, so the establishment owner is very strict about it.
Anyway - I went for my Palacio Real tour - and it was simply magnificent!
What art! What scale! What taste! What riches!
The interior of the palace is notable for its wealth of art and the use of many types of fine materials in the construction and the decoration of its rooms. It includes paintings by artists such as Caravaggio, Juan de Flandes, Francisco de Goya, and Velázquez, and frescoes by Giovanni Battista Tiepolo, Corrado Giaquinto, and Anton Raphael Mengs. Other collections of great historical and artistic importance preserved in the building include the Royal Armoury of Madrid, porcelain, watches, furniture, silverware, and the world's only complete Stradivarius string quintet.
As in the Prado, the sheer scale of the place just overwhelms! And it is so well maintained! Everything is shiny and gleaming and looks as if it is ready for the inspection of a keen-eyed Major-domo!
Your breath gets taken away as soon as you enter the building and see the 'Grand staircase'!
It is composed of a single piece of San Agustin marble. Two lions grace the landing, one by Felipe de Castro and another by Robert Michel. The frescoes on the ceiling is by Corrado Giaquinto and depicts Religion Protected by Spain. On the ground floor is a statue of Charles III in Roman toga, with a similar statue on the first floor depicting Charles IV. The four cartouches at the corners depict the elements of water, earth, air and fire.
And things become even better and more grand as you enter the palace - unfortunately you are not allowed to photograph them. There were huge crowds here too - mainly locals probably enjoying Chrismas vacations or something, and there were a lot of guided tours, but only in Spanish. I looked rather enviously at the groups - the guides looked passionate and well spoken and watching their expressions and gestures was enjoyable even without knowing the language. And their script was good too - as you could tell from the interested expressions of the listeners and the guffaws they erupted into when the guide told a funny story.
But nothing in English, alas. And to be fair, I would probably not have taken the tour anyway…It would be a lot of gyaan about local people and local history you know nothing about and care even less. And also because I am tight-fisted and kanjoos.
Some of the rooms which really impressed were the 'Royal Chapel' with its amazing ceiling frescoes by Giaquinto, including The Trinity, Allegory of Religion, Glory and the Holy Trinity Crowning the Virgin - and the 'Throne Room' which features Tiepolo's ceiling fresco, The Apotheosis of the Spanish Monarchy. Bronze sculptures include the Four Cardinal Virtues, four of the Seven Planets, Satyr, Germanicus, and four Medici lions flanking the dual throne.
I mean - I could keep throwing names at you, but I think your eyes are glazing over already.
To make a long story short - It was most impressive!
And this was in spite of them not showing us some of the awesome stuff - the Royal Armoury and Royal Pharmacy and stuff like that!
But I was happy. Any more might have been overkill. And if I ever come back, there would always be the chance of seeing something totally new!
After all, they have more than 3000 rooms to choose from!


""The man who stands at a strange threshold should be cautious before he cross it, Glance this way and that, who knows beforehand what foes may sit Awaiting him in the hall?
At Gylfaginning Tialfi lost a race to Hugi, who was a thought; Loki lost an eating contest to wildfire in disguised; and, Thunor dropped to his knee in a wrestling match against Elli (Old Age).
The mistake they made is the same mistake many of our Aryan kin make today. They are too trusting, too naive, too righteous to believe that the others may not be men of honor respecting the code of conduct and rules of competition.
Many fail to heed the words of Har in the Havamal. The Gods teach us not only through their strenghts but through their failing what we must do. The strangers are now within the gates of our own homeland.
Last edited by Francis_Benson; Thursday, August 29th, 2002 at 05:22 PM.
I have read many times and thought and pondered over the practical wisdom which it bestows. And I will always strive to embed it my life. And I thank the one who gave to me his words on the Havamal. And I saw, many of the Vedic suktas, reflecting in Havamal.
Runatal, the last part of the poem, is just as full of instruction.
Edric, read and try to find how it reverberates in everyday existence.
Starting with the importance of talk. Language is essentially a union of thought and intention with speech.
Then we move onto the next advice. A man should care about the host and the guests as well, when he hosts them.
Then there is an advice on wealth. Quite the same thing as is Rig Veda's 10:117.
Wheels of fortune are ever rolling.
And so are many more advices.
No doubt this is the most admirable and practical bit of advice and its wisdom is certainly the greatest.


Are you searching simple, fast, and reliable Bulk SMS Service in Noida? If Yes! Then contact Ansh Media Bulk SMS Service provider to get the simple, fast and reliable Bulk SMS Service in Noida.
Ansh Media Bulk SMS Service in Noida is giving the best plan. We are providing simple, fast and reliable Bulk SMS Services. Ansh Media Bulk SMS Service Provider in Noida gives 24x7 customer support service.
Other Services Noida (Uttar Pradesh) April 6, 2019 4999.00 Rs.
Other Services Noida (Uttar Pradesh) April 5, 2019 4999.00 Rs.


text:
package edu.utah.further.core.util.options;

import java.util.List;
import java.util.Map;

import edu.utah.further.core.api.collections.CollectionUtil;
import edu.utah.further.core.api.text.StringUtil;

/**
 * The central class for option processing. Sets are identified by their name, but there
 * is also an anonymous default set, which is very convenient if an application requires
 * only one set.
 *

 * -----------------------------------------------------------------------------------

 * (c) 2008-2013 FURTHeR Project, AVP Health Sciences IT Office, University of Utah

 * Contact: {@code <further@utah.edu>}

 * Biomedical Informatics, 26 South 2000 East

 * Room 5775 HSEB, Salt Lake City, UT 84112

 * Day Phone: 1-801-581-4080

 * -----------------------------------------------------------------------------------
 *
 * @author Oren E. Livne {@code <oren.livne@utah.edu>}
 * @version Nov 19, 2008
 */
public class Options
{
	private static final String CLASS = "Options";

	/**
	 * The name used internally for the default set
	 */

	public static final String DEFAULT_SET = "DEFAULT_OPTION_SET";

	/**
	 * An enum encapsulating the possible separators between value options and their
	 * actual values.
	 */
	public enum Separator
	{

		/**
		 * Separate option and value by ":"
		 */

		COLON(':'),

		/**
		 * Separate option and value by "="
		 */

		EQUALS('='),

		/**
		 * Separate option and value by blank space
		 */

		BLANK(' '), // Or, more precisely, whitespace (as allowed by the CLI)

		/**
		 * This is just a placeholder in case no separator is required (i. e. for
		 * non-value options)
		 */

		NONE('D'); // NONE is a placeholder in case no separator is required, 'D' is just
		// an arbitrary dummy value

		private char c;

		private Separator(final char c)
		{
			this.c = c;
		}

		/**
		 * Return the actual separator character
		 *

		 *
		 * @return The actual separator character
		 */

		char getName()
		{
			return c;
		}
	}

	/**
	 * An enum encapsulating the possible prefixes identifying options (and separating
	 * them from command line data items)
	 */

	public enum Prefix
	{

		/**
		 * Options start with a "-" (typically on Unix platforms)
		 */

		DASH('-'),

		/**
		 * Options start with a "/" (typically on Windows platforms)
		 */

		SLASH('/');

		private char c;

		private Prefix(final char c)
		{
			this.c = c;
		}

		/**
		 * Return the actual prefix character
		 *

		 *
		 * @return The actual prefix character
		 */

		char getName()
		{
			return c;
		}

	}

	/**
	 * An enum encapsulating the possible multiplicities for options
	 */

	public enum Multiplicity
	{

		/**
		 * Option needs to occur exactly once
		 */

		ONCE,

		/**
		 * Option needs to occur at least once
		 */

		ONCE_OR_MORE,

		/**
		 * Option needs to occur either once or not at all
		 */

		ZERO_OR_ONE,

		/**
		 * Option can occur any number of times
		 */

		ZERO_OR_MORE;

	}

	private final Map<String, OptionSet> optionSets = CollectionUtil.newMap();
	private Prefix prefix = null;
	private Multiplicity defaultMultiplicity = null;
	private String[] arguments = null;
	private int defaultMinData = 0;
	private int defaultMaxData = 0;
	private StringBuilder checkErrors = null;

	/**
	 * Constructor
	 *

	 *
	 * @param args
	 *            The command line arguments to check
	 * @param prefix
	 *            The prefix to use for all command line options. It can only be set here
	 *            for all options at the same time
	 * @param defaultMultiplicity
	 *            The default multiplicity to use for all options (can be overridden when
	 *            adding an option)
	 * @param defMinData
	 *            The default minimum number of data items for all sets (can be overridden
	 *            when adding a set)
	 * @param defMaxData
	 *            The default maximum number of data items for all sets (can be overridden
	 *            when adding a set)
	 *

	 * @throws IllegalArgumentException
	 *             If either args, prefix, or
	 *             defaultMultiplicity is null - or if the data
	 *             range values don't make sense
	 */

	public Options(final String args[], final Prefix prefix,
			final Multiplicity defaultMultiplicity, final int defMinData,
			final int defMaxData)
	{

		if (args == null)
			throw new IllegalArgumentException(CLASS + ": args may not be null");
		if (prefix == null)
			throw new IllegalArgumentException(CLASS + ": prefix may not be null");
		if (defaultMultiplicity == null)
			throw new IllegalArgumentException(CLASS
					+ ": defaultMultiplicity may not be null");

		if (defMinData < 0)
			throw new IllegalArgumentException(CLASS + ": defMinData must be >= 0");
		if (defMaxData < defMinData)
			throw new IllegalArgumentException(CLASS
					+ ": defMaxData must be >= defMinData");

		arguments = new String[args.length];
		int i = 0;
		for (final String s : args)
			arguments[i++] = s;

		this.prefix = prefix;
		this.defaultMultiplicity = defaultMultiplicity;
		this.defaultMinData = defMinData;
		this.defaultMaxData = defMaxData;

	}

	/**
	 * Constructor
	 *

	 *
	 * @param args
	 *            The command line arguments to check
	 * @param prefix
	 *            The prefix to use for all command line options. It can only be set here
	 *            for all options at the same time
	 * @param defaultMultiplicity
	 *            The default multiplicity to use for all options (can be overridden when
	 *            adding an option)
	 * @param data
	 *            The default minimum and maximum number of data items for all sets (can
	 *            be overridden when adding a set)
	 *

	 * @throws IllegalArgumentException
	 *             If either args, prefix, or
	 *             defaultMultiplicity is null - or if the data
	 *             range value doesn't make sense
	 */

	public Options(final String args[], final Prefix prefix,
			final Multiplicity defaultMultiplicity, final int data)
	{
		this(args, prefix, defaultMultiplicity, data, data);
	}

	/**
	 * Constructor. The default number of data items is set to 0.
	 *

	 *
	 * @param args
	 *            The command line arguments to check
	 * @param prefix
	 *            The prefix to use for all command line options. It can only be set here
	 *            for all options at the same time
	 * @param defaultMultiplicity
	 *            The default multiplicity to use for all options (can be overridden when
	 *            adding an option)
	 *

	 * @throws IllegalArgumentException
	 *             If either args, prefix, or
	 *             defaultMultiplicity is null
	 */

	public Options(final String args[], final Prefix prefix,
			final Multiplicity defaultMultiplicity)
	{
		this(args, prefix, defaultMultiplicity, 0, 0);
	}

	/**
	 * Constructor. The prefix is set to {@link Prefix#DASH}.
	 *

	 *
	 * @param args
	 *            The command line arguments to check
	 * @param defaultMultiplicity
	 *            The default multiplicity to use for all options (can be overridden when
	 *            adding an option)
	 * @param defMinData
	 *            The default minimum number of data items for all sets (can be overridden
	 *            when adding a set)
	 * @param defMaxData
	 *            The default maximum number of data items for all sets (can be overridden
	 *            when adding a set)
	 *

	 * @throws IllegalArgumentException
	 *             If either args or defaultMultiplicity is
	 *             null - or if the data range values don't make sense
	 */

	public Options(final String args[], final Multiplicity defaultMultiplicity,
			final int defMinData, final int defMaxData)
	{
		this(args, Prefix.DASH, defaultMultiplicity, defMinData, defMaxData);
	}

	/**
	 * Constructor. The prefix is set to {@link Prefix#DASH}.
	 *

	 *
	 * @param args
	 *            The command line arguments to check
	 * @param defaultMultiplicity
	 *            The default multiplicity to use for all options (can be overridden when
	 *            adding an option)
	 * @param data
	 *            The default minimum and maximum number of data items for all sets (can
	 *            be overridden when adding a set)
	 *

	 * @throws IllegalArgumentException
	 *             If either args or defaultMultiplicity is
	 *             null - or if the data range value doesn't make sense
	 */

	public Options(final String args[], final Multiplicity defaultMultiplicity,
			final int data)
	{
		this(args, Prefix.DASH, defaultMultiplicity, data, data);
	}

	/**
	 * Constructor. The prefix is set to {@link Prefix#DASH}, and the default number of
	 * data items is set to 0.
	 *

	 *
	 * @param args
	 *            The command line arguments to check
	 * @param defaultMultiplicity
	 *            The default multiplicity to use for all options (can be overridden when
	 *            adding an option)
	 *

	 * @throws IllegalArgumentException
	 *             If either args or defaultMultiplicity is
	 *             null
	 */

	public Options(final String args[], final Multiplicity defaultMultiplicity)
	{
		this(args, Prefix.DASH, defaultMultiplicity, 0, 0);
	}

	/**
	 * Constructor. The prefix is set to {@link Prefix#DASH}, the default number of data
	 * items is set to 0, and the multiplicity is set to {@link Multiplicity#ONCE}.
	 *

	 *
	 * @param args
	 *            The command line arguments to check
	 *

	 * @throws IllegalArgumentException
	 *             If args is null
	 */

	public Options(final String args[])
	{
		this(args, Prefix.DASH, Multiplicity.ONCE);
	}

	/**
	 * Constructor. The prefix is set to {@link Prefix#DASH}, and the multiplicity is set
	 * to {@link Multiplicity#ONCE}.
	 *

	 *
	 * @param args
	 *            The command line arguments to check
	 * @param data
	 *            The default minimum and maximum number of data items for all sets (can
	 *            be overridden when adding a set)
	 *

	 * @throws IllegalArgumentException
	 *             If args is null - or if the data range value
	 *             doesn't make sense
	 */

	public Options(final String args[], final int data)
	{
		this(args, Prefix.DASH, Multiplicity.ONCE, data, data);
	}

	/**
	 * Constructor. The prefix is set to {@link Prefix#DASH}, and the multiplicity is set
	 * to {@link Multiplicity#ONCE}.
	 *

	 *
	 * @param args
	 *            The command line arguments to check
	 * @param defMinData
	 *            The default minimum number of data items for all sets (can be overridden
	 *            when adding a set)
	 * @param defMaxData
	 *            The default maximum number of data items for all sets (can be overridden
	 *            when adding a set)
	 *

	 * @throws IllegalArgumentException
	 *             If args is null - or if the data range values
	 *             don't make sense
	 */

	public Options(final String args[], final int defMinData, final int defMaxData)
	{
		this(args, Prefix.DASH, Multiplicity.ONCE, defMinData, defMaxData);
	}

	/**
	 * Constructor. The default number of data items is set to 0, and the multiplicity is
	 * set to {@link Multiplicity#ONCE}.
	 *

	 *
	 * @param args
	 *            The command line arguments to check
	 * @param prefix
	 *            The prefix to use for all command line options. It can only be set here
	 *            for all options at the same time
	 *

	 * @throws IllegalArgumentException
	 *             If either args or prefix is null
	 */

	public Options(final String args[], final Prefix prefix)
	{
		this(args, prefix, Multiplicity.ONCE, 0, 0);
	}

	/**
	 * Constructor. The multiplicity is set to {@link Multiplicity#ONCE}.
	 *

	 *
	 * @param args
	 *            The command line arguments to check
	 * @param prefix
	 *            The prefix to use for all command line options. It can only be set here
	 *            for all options at
	 * @param data
	 *            The default minimum and maximum number of data items for all sets (can
	 *            be overridden when adding a set)
	 *

	 * @throws IllegalArgumentException
	 *             If either args or prefix is null
	 *             - or if the data range value doesn't make sense
	 */

	public Options(final String args[], final Prefix prefix, final int data)
	{
		this(args, prefix, Multiplicity.ONCE, data, data);
	}

	/**
	 * Constructor. The multiplicity is set to {@link Multiplicity#ONCE}.
	 *

	 *
	 * @param args
	 *            The command line arguments to check
	 * @param prefix
	 *            The prefix to use for all command line options. It can only be set here
	 *            for all options at the same time
	 * @param defMinData
	 *            The default minimum number of data items for all sets (can be overridden
	 *            when adding a set)
	 * @param defMaxData
	 *            The default maximum number of data items for all sets (can be overridden
	 *            when adding a set)
	 *

	 * @throws IllegalArgumentException
	 *             If either args or prefix is null
	 *             - or if the data range values don't make sense
	 */

	public Options(final String args[], final Prefix prefix, final int defMinData,
			final int defMaxData)
	{
		this(args, prefix, Multiplicity.ONCE, defMinData, defMaxData);
	}

	/**
	 * Return the (first) matching set. This invocation does not ignore unmatched options
	 * and requires that data items are the last ones on the command line.
	 *

	 *
	 * @return The first set which matches (i. e. the check() method returns
	 *         true) - or null, if no set matches.
	 */

	public OptionSet getMatchingSet()
	{
		return getMatchingSet(false, true);
	}

	/**
	 * Return the (first) matching set.
	 *

	 *
	 * @param ignoreUnmatched
	 *            A boolean to select whether unmatched options can be ignored in the
	 *            checks or not
	 * @param requireDataLast
	 *            A boolean to indicate whether the data items have to be the last ones on
	 *            the command line or not
	 *

	 * @return The first set which matches (i. e. the check() method returns
	 *         true) - or null, if no set matches.
	 */
	public OptionSet getMatchingSet(final boolean ignoreUnmatched,
			final boolean requireDataLast)
	{
		for (final String setName : optionSets.keySet())
			if (check(setName, ignoreUnmatched, requireDataLast))
				return optionSets.get(setName);
		return null;
	}

	/**
	 * Add an option set.
	 *

	 *
	 * @param setName
	 *            The name for the set. This must be a unique identifier
	 * @param minData
	 *            The minimum number of data items for this set
	 * @param maxData
	 *            The maximum number of data items for this set
	 *

	 * @return The new Optionset instance created. This is useful to allow
	 *         chaining of addOption() calls right after this method
	 */
	public OptionSet addSet(final String setName, final int minData, final int maxData)
	{
		if (setName == null)
			throw new IllegalArgumentException(CLASS + ": setName may not be null");
		if (optionSets.containsKey(setName))
			throw new IllegalArgumentException(CLASS + ": a set with the name " + setName
					+ " has already been defined");
		final OptionSet os = new OptionSet(prefix, defaultMultiplicity, setName, minData,
				maxData);
		optionSets.put(setName, os);
		return os;
	}

	/**
	 * Add an option set.
	 *

	 *
	 * @param setName
	 *            The name for the set. This must be a unique identifier
	 * @param data
	 *            The minimum and maximum number of data items for this set
	 *

	 * @return The new Optionset instance created. This is useful to allow
	 *         chaining of addOption() calls right after this method
	 */
	public OptionSet addSet(final String setName, final int data)
	{
		return addSet(setName, data, data);
	}

	/**
	 * Add an option set. The defaults for the number of data items are used.
	 *

	 *
	 * @param setName
	 *            The name for the set. This must be a unique identifier
	 *

	 * @return The new Optionset instance created. This is useful to allow
	 *         chaining of addOption() calls right after this method
	 */
	public OptionSet addSet(final String setName)
	{
		return addSet(setName, defaultMinData, defaultMaxData);
	}

	/**
	 * Return an option set - or null, if no set with the given name exists
	 *

	 *
	 * @param setName
	 *            The name for the set to retrieve
	 *

	 * @return The set to retrieve (or null, if no set with the given name
	 *         exists)
	 */

	public OptionSet getSet(final String setName)
	{
		return optionSets.get(setName);
	}

	/**
	 * This returns the (anonymous) default set
	 *

	 *
	 * @return The default set
	 */
	public OptionSet getSet()
	{
		if (getSet(DEFAULT_SET) == null)
			addSet(DEFAULT_SET, defaultMinData, defaultMaxData);
		return getSet(DEFAULT_SET);
	}

	/**
	 * The error messages collected during the last option check (invocation of any of the
	 * check() methods). This is useful to determine what was wrong with the
	 * command line arguments provided
	 *

	 *
	 * @return A string with all collected error messages
	 */
	public String getCheckErrors()
	{
		return checkErrors.toString();
	}

	/**
	 * Run the checks for the default set. ignoreUnmatched is set to
	 * false, and requireDataLast is set to true.
	 *

	 *
	 * @return A boolean indicating whether all checks were successful or not
	 */
	public boolean check()
	{
		return check(DEFAULT_SET, false, true);
	}

	/**
	 * Run the checks for the default set.
	 *

	 *
	 * @param ignoreUnmatched
	 *            A boolean to select whether unmatched options can be ignored in the
	 *            checks or not
	 * @param requireDataLast
	 *            A boolean to indicate whether the data items have to be the last ones on
	 *            the command line or not
	 *

	 * @return A boolean indicating whether all checks were successful or not
	 */

	public boolean check(final boolean ignoreUnmatched, final boolean requireDataLast)
	{
		return check(DEFAULT_SET, ignoreUnmatched, requireDataLast);
	}

	/**
	 * Run the checks for the given set. ignoreUnmatched is set to
	 * false, and requireDataLast is set to true.
	 *

	 *
	 * @param setName
	 *            The name for the set to check
	 *

	 * @return A boolean indicating whether all checks were successful or not
	 *

	 * @throws IllegalArgumentException
	 *             If either setName is null, or the set is
	 *             unknown.
	 */
	public boolean check(final String setName)
	{
		return check(setName, false, true);
	}

	/**
	 * Run the checks for the given set.
	 *

	 *
	 * @param setName
	 *            The name for the set to check
	 * @param ignoreUnmatched
	 *            A boolean to select whether unmatched options can be ignored in the
	 *            checks or not
	 * @param requireDataLast
	 *            A boolean to indicate whether the data items have to be the last ones on
	 *            the command line or not
	 *

	 * @return A boolean indicating whether all checks were successful or not
	 *

	 * @throws IllegalArgumentException
	 *             If either setName is null, or the set is
	 *             unknown.
	 */
	public boolean check(final String setName, final boolean ignoreUnmatched,
			final boolean requireDataLast)
	{
		if (setName == null)
			throw new IllegalArgumentException(CLASS + ": setName may not be null");
		if (optionSets.get(setName) == null)
			throw new IllegalArgumentException(CLASS + ": Unknown OptionSet: " + setName);

		checkErrors = StringUtil.newStringBuilder();
		checkErrors.append("Checking set ");
		checkErrors.append(setName);
		checkErrors.append('\n');

		// .... Access the data for the set to use

		final OptionSet set = optionSets.get(setName);
		final List<OptionData> options = set.getOptionData();
		final List<String> data = set.getData();
		final List<String> unmatched = set.getUnmatched();

		// .... Catch some trivial cases

		if (options.size() == 0)
		{ // No options have been defined at all
			if (arguments.length == 0)
			{ // No arguments have been given: in this case, this is a success
				return true;
			}
			checkErrors.append("No options have been defined, nothing to check\n");
			return false;
		}
		else if (arguments.length == 0)
		{ // Options have been defined, but no arguments given
			checkErrors
					.append("Options have been defined, but no arguments have been given; nothing to check\n");
			return false;
		}

		// .... Parse all the arguments given

		int ipos = 0;
		int offset = 0;
		java.util.regex.Matcher m = null;
		String value = null;
		String detail = null;
		String next = null;
		String key = null;
		final String pre = Character.toString(prefix.getName());
		boolean add = true;
		final boolean[] matched = new boolean[arguments.length];

		for (int i = 0; i < matched.length; i++)
			// Initially, we assume there was no match at all
			matched[i] = false;

		while (true)
		{

			value = null;
			detail = null;
			offset = 0;
			add = true;
			key = arguments[ipos];

			for (final OptionData optionData : options)
			{ // For each argument, we may need to check all defined options
				m = optionData.getPattern().matcher(key);
				if (m.lookingAt())
				{
					if (optionData.useValue())
					{ // The code section for value options
						if (optionData.useDetail())
						{
							detail = m.group(1);
							offset = 2; // required for correct Matcher.group access below
						}
						if (optionData.getSeparator() == Separator.BLANK)
						{ // In this case, the next argument must be the value
							if (ipos + 1 == arguments.length)
							{ // The last argument, thus no value follows it: Error
								checkErrors
										.append("At end of arguments - no value found following argument ");
								checkErrors.append(key);
								checkErrors.append('\n');
								add = false;
							}
							else
							{
								next = arguments[ipos + 1];
								if (next.startsWith(pre))
								{ // The next one is an argument, not a value: Error
									checkErrors
											.append("No value found following argument ");
									checkErrors.append(key);
									checkErrors.append('\n');
									add = false;
								}
								else
								{
									value = next;
									matched[ipos++] = true; // Mark the key and the value
									matched[ipos] = true;
								}
							}
						}
						else
						{ // The value follows the separator in this case
							value = m.group(1 + offset);
							matched[ipos] = true;
						}
					}
					else
					{ // Simple, non-value options
						matched[ipos] = true;
					}

					if (add)
						optionData.addResult(value, detail); // Store the result
					break; // No need to check more options, we have a match
				}
			}

			ipos++; // Advance to the next argument to check
			if (ipos >= arguments.length)
				break; // Terminating condition for the check loop

		}

		// .... Identify unmatched arguments and actual (non-option) data

		int first = -1; // Required later for requireDataLast
		for (int i = 0; i < matched.length; i++)
		{ // Assemble the list of unmatched options
			if (!matched[i])
			{
				if (arguments[i].startsWith(pre))
				{ // This is an unmatched option
					unmatched.add(arguments[i]);
					checkErrors.append("No matching option found for argument ");
					checkErrors.append(arguments[i]);
					checkErrors.append('\n');
				}
				else
				{ // This is actual data
					if (first < 0)
						first = i;
					data.add(arguments[i]);
				}
			}
		}

		// .... Checks to determine overall success; start with multiplicity of options

		boolean err = true;

		for (final OptionData optionData : options)
		{

			key = optionData.getKey();
			err = false; // Local check result for one option

			switch (optionData.getMultiplicity())
			{
				case ONCE:
					if (optionData.getResultCount() != 1)
						err = true;
					break;
				case ONCE_OR_MORE:
					if (optionData.getResultCount() == 0)
						err = true;
					break;
				case ZERO_OR_ONE:
					if (optionData.getResultCount() > 1)
						err = true;
					break;
				case ZERO_OR_MORE:
					break;
			}

			if (err)
			{
				checkErrors.append("Wrong number of occurences found for argument ");
				checkErrors.append(prefix.getName());
				checkErrors.append(key);
				checkErrors.append('\n');
				return false;
			}

		}

		// .... Check range for data

		if (data.size() < set.getMinData() || data.size() > set.getMaxData())
		{
			checkErrors.append("Invalid number of data arguments: ");
			checkErrors.append(data.size());
			checkErrors.append(" (allowed range: ");
			checkErrors.append(set.getMinData());
			checkErrors.append(" ... ");
			checkErrors.append(set.getMaxData());
			checkErrors.append(")\n");
			return false;
		}

		// .... Check for location of the data in the list of command line arguments

		if (requireDataLast)
		{
			if (first + data.size() != arguments.length)
			{
				checkErrors
						.append("Invalid data specification: data arguments are not the last ones on the command line\n");
				return false;
			}
		}

		// .... Check for unmatched arguments

		if (!ignoreUnmatched && unmatched.size() > 0)
			return false; // Don't accept unmatched arguments

		// .... If we made it to here, all checks were successful

		return true;

	}

	/**
	 * Add the given non-value option to all known sets. See
	 * {@link OptionSet#addOption(String)} for details.
	 */

	public void addOptionAllSets(final String key)
	{
		for (final String setName : optionSets.keySet())
			optionSets.get(setName).addOption(key, defaultMultiplicity);
	}

	/**
	 * Add the given non-value option to all known sets. See
	 * {@link OptionSet#addOption(String, Options.Multiplicity)} for details.
	 */

	public void addOptionAllSets(final String key, final Multiplicity multiplicity)
	{
		for (final String setName : optionSets.keySet())
			optionSets.get(setName).addOption(key, false, Separator.NONE, false,
					multiplicity);
	}

	/**
	 * Add the given value option to all known sets. See
	 * {@link OptionSet#addOption(String, Options.Separator)} for details.
	 */

	public void addOptionAllSets(final String key, final Separator separator)
	{
		for (final String setName : optionSets.keySet())
			optionSets.get(setName).addOption(key, false, separator, true,
					defaultMultiplicity);
	}

	/**
	 * Add the given value option to all known sets. See
	 * {@link OptionSet#addOption(String, Options.Separator, Options.Multiplicity)} for
	 * details.
	 */

	public void addOptionAllSets(final String key, final Separator separator,
			final Multiplicity multiplicity)
	{
		for (final String setName : optionSets.keySet())
			optionSets.get(setName).addOption(key, false, separator, true, multiplicity);
	}

	/**
	 * Add the given value option to all known sets. See
	 * {@link OptionSet#addOption(String, boolean, Options.Separator)} for details.
	 */

	public void addOptionAllSets(final String key, final boolean details,
			final Separator separator)
	{
		for (final String setName : optionSets.keySet())
			optionSets.get(setName).addOption(key, details, separator, true,
					defaultMultiplicity);
	}

	/**
	 * Add the given value option to all known sets. See
	 * {@link OptionSet#addOption(String, boolean, Options.Separator, Options.Multiplicity)}
	 * for details.
	 */

	public void addOptionAllSets(final String key, final boolean details,
			final Separator separator, final Multiplicity multiplicity)
	{
		for (final String setName : optionSets.keySet())
			optionSets.get(setName)
					.addOption(key, details, separator, true, multiplicity);
	}

	/**
	 * This is the overloaded {@link Object#toString()} method, and it is provided mainly
	 * for debugging purposes.
	 *

	 *
	 * @return A string representing the instance
	 */
	@Override
	public String toString()
	{
		final StringBuilder sb = StringUtil.newStringBuilder();
		for (final OptionSet set : optionSets.values())
		{
			sb.append("Set: ");
			sb.append(set.getSetName());
			sb.append('\n');
			for (final OptionData data : set.getOptionData())
			{
				sb.append(data.toString());
				sb.append('\n');
			}
		}

		return sb.toString();
	}

}

redpajama_set_name: RedPajamaGithub


text:
March 9, 2020 March 10, 2020 by Josh Parcell
2020 ACC Football Coaches, Ranked
(Image Ctsy: Jim Dedmon/USA Today Images)
It is early March. Spring games are right around the corner, March Madness is in full swing, and it is PEAK #RankingSZN for college football. Over the next few weeks on CFB Country, I'll be ranking head coaches in each of the Power Five conferences, starting today with the ACC.
The last two years in the ACC have been about as impressive as Tim Tebow's baseball career. After a banner year in 2016 that saw Lamar Jackson win the Heisman Trophy while Deshaun Watson brought Clemson its first national title in over 30 years, the league quickly became a one-man — well, one-team — show. Clemson has lost TWO conference games in the last five seasons — one in overtime, and another where their starting quarterback was knocked out of the game. An influx of impressive coaching hires didn't translate to much success on the field. Florida State (Willie Taggart) and Miami (Mark Richt) both made hires that were praised at the time, and neither coach lasted more than three years.
The instability at two of the league's blueblood programs, in addition to a turbulent couple of years for Justin Fuente at Virginia Tech and whatever you want to call the end of Bobby Petrino's tenure at Louisville, there just hasn't been anything resembling a worthy competitor for Dabo Swinney and Clemson in three seasons.
Things seem to be pointing in the right direction for most schools around the conference right now, however.
These rankings are heavily based on the jobs these coaches are currently doing, not a lifetime achievement award. It's about how you've performed relative to the expectations of the school, and the state of the program when you took over.
If you hate the rankings, you know where to find me. Scream at me on Twitter
1. Dabo Swinney (Trending: UP)
There's just no one in the ACC who can even think of comparing to what Swinney has built at Clemson right now. No one recruits better talent or develops said talent any better than Swinney's staff. They've won five straight conference championships, two national titles, and aren't slowing down anytime soon. Their 2020 recruiting class was the highest ranked class yet under Swinney. The best program in the conference is getting even better. Two years ago I wrote that Clemson was going to become the next Alabama. The dynasty has just begun.
2. Scott Satterfield (Trending: UP)
There's a really fun argument to have about whether UNC made the right call hiring Mack Brown instead of pursuing Satterfield last year. There is zero doubt the Tar Heels made a great hire in Brown, but the turnaround Satterfield produced in his first year at Louisville combined with being nearly 30 years Brown's junior makes it an interesting debate.
It's well-documented how much of a mess Louisville was when Satterfield replaced Petrino. I haven't seen many teams quit on a coach the way the Cardinals did on Petrino at the end of 2018. They were outscored 522-206 for the season by FBS opponents. Clemson beat them 77-16 and it felt like the Tigers took it easy on them. But in 2019, Satterfield had his team competitive from the very first quarter of the season opener against Notre Dame, and it culminated with a 38-28 win over Mississippi State in the Music City Bowl to finish the year 8-5 — with a second-place finish in the Atlantic Division to boot.
With a ton of returning skill position talent in 2020, the Cardinals might not be poised to catch Clemson quite yet, but I would be stunned if they didn't finish inside the Top 25 next season.
3. Mack Brown (Trending: UP)
I was not a believer in the Mack Brown hire. Flat-out didn't think it would work. He completely lost his touch by the end of his run in Texas. He missed on a slew of future NFL quarterbacks from within the state. He couldn't develop the ones he did recruit. How was Brown, six years removed from a relatively ignominious exit from the school where he won a national championship in 2005, going to suddenly breathe life into a school he left more than two decades ago?
Well, shame on me. Brown instantly made the Tar Heels fiercely competitive. He hired a dynamite staff that helped UNC become a force on the recruiting trail. Flipping in-state product Sam Howell from Florida State on his first Signing Day may have been the most important move he'll ever make as the Tar Heels' head coach. Howell threw for 3,641 yards with 38 touchdowns and just seven interceptions as a freshman. He'll enter 2020 as one of the five best quarterbacks in America. The 2020 recruiting class was ranked in the top 20. The 2021 class is currently in the top five.
The only reason I didn't put Brown ahead of Satterfield was some of the questionable late-game decisions in 2019 that either cost Carolina or nearly cost them a few more wins. Whether it was kneeling on fourth down against South Carolina, icing your own kicker for no apparent reason at Virginia Tech, or a handful of other puzzling moves, Brown had the kind of head-scratching moments that get overlooked in year one of a rebuild, but become inexcusable once the expectations are 10-wins and a division title. That's the bar in 2020 for UNC.
4. Dave Clawson (Trending: UP)
It took a few years, but Dave Clawson has built Wake Forest into a respectable program in the ACC. That might not sound like an enormous compliment, but in the case of the Demon Deacons, it absolutely constitutes one. If Wake wins at least eight games next year, Clawson will have the highest winning percentage of any Deacons' coach since Peahead Walker in the early 1950's.
LET ME REPEAT.
PEAHEAD WALKER.
brb buying this book:
Anyway, Wake Forest had the makings of a 10-win team this season until injuries derailed their season. Sage Surratt was one of the best receivers in the league, and Scotty Washington was a tremendous compliment. Both went down with season-ending injuries in early November, and it cost the Deacs in road losses to Virginia Tech and Syracuse, plus the bowl game against Michigan State. Clawson will have to reload around junior quarterback Sam Hartman next season after Jamie Newman transferred to Georgia, but with Surratt back in the fold, Wake should be dangerous again in 2020.
It was a mild surprise Clawson wasn't mentioned for many bigger jobs this off-season. I'll be flat-out stunned if he isn't heavily courted over the next few years when major openings pop up.
5. Bronco Mendenhall (Trending: UP)
Virginia football was in shambles when Mendenhall left BYU for Charlottesville in 2016. After losing to Richmond in his first-ever game with the 'Hoos, Mendenhall's first season was a disastrous one ending with a 2-10 record. Since then, Virginia has made three consecutive bowl games and won the Coastal Division in 2019. Mendenhall has developed talent on both sides of the ball better than anyone since George Welsh roamed the sidelines at Scott Stadium.
I'm very curious to see if he can build on last year's run without do-everything quarterback Bryce Perkins. Without Perkins, Virginia likely misses a bowl game last season. He was that important in a number of close wins. Brennan Armstrong will take his place, and he's drawn comparisons to Taysom Hill from Mendenhall himself. If Armstrong can live up to those sort of expectations, the Cavaliers will go bowling for a fourth consecutive year. Maybe a more important question: can they beat Virginia Tech for a second time in a row?
6. Justin Fuente (Trending: DOWN)
Three years ago, Fuente would have ranked second on this list with his stock climbing. You couldn't have scripted a much better start to his tenure in Blacksburg, but a rough couple of years has left a lot of Virginia Tech fans wondering if Fuente is still the right guy for the job.
I'm in the camp that Fuente is capable of building Virginia Tech into a consistent nine or 10-game winner. That doesn't change the fact he has a lot of pressure this coming season to prove it. There was a lot more to the transfer portal drama over the last two years (only Arkansas has seen more players exit the program in that span) than meets the eye. It appears that a lot of those concerns have stabilized — despite some pretty tone-deaf comments last month about not taking players back who enter the transfer portal — and the Hokies have the pieces in place to contend for a Coastal Division in 2020. If they do, Fuente will find himself much higher on this list a year from now.
7. Mike Norvell (Trending: UP)
Norvell took Memphis to even greater heights than Justin Fuente, culminating in a Cotton Bowl berth this past season. I nearly put him ahead of Fuente here, but I think Norvell has to prove he can win in the Power Five before I elevate him to that level. Fuente turned around a moribund Memphis program. Norvell, meanwhile, made a good situation great. I tend to think what Fuente did was more impressive.
I love that Norvell was able to convince Marvin Wilson and Tamorrion Terry to come back to school. That will help him in year one, but the bigger concern is the offensive line. This is almost hard to believe, but in the past four recruiting classes (including the class of 2020), Florida State has signed TWO offensive linemen rated four stars or higher by 247Sports. Incoming freshmen quarterback Chubba Purdy has the potential to have a Sam Howell-like impact for Norvell in 2020, but if they can't resurrect an atrocious offensive line, it probably won't matter.
I like the Norvell hire. It looks better than hiring Taggart off a 7-5 season at Oregon three years ago. Until the results start coming in, Norvell sits in seventh on this list.
8. David Cutcliffe (Trending: DOWN)
I feel a little dirty dropping Coach Cut all the way to eighth, because I think the world of him as a coach and as a person. There isn't a friendlier, more down-to-earth guy in the profession, and he's carved out an incredible niche keeping Duke football respectable during his 12 years in Durham. The Blue Devils peaked in 2013 with a 10-4 record and an ACC Coastal championship, but even since then it's still been a strong run by Duke's standards. They are 41-35 since that ACC Championship Game appearance.
Last season was a puzzling one. Duke obliterated Virginia Tech in late September, only to go 2-6 the rest of the season. Late-game collapses against Pittsburgh and North Carolina was the difference between 5-7 and 7-5. They were blown out 49-6 by an awful Syracuse team. With an influx of younger and proven coaches into the Coastal Division, it's fair to wonder if Cutcliffe's time is starting to get short at Duke. He's earned the right to leave on his own terms, but at 65 years old, that time might not be too far off in the distance.
9. Pat Narduzzi (Trending: STEADY)
The best thing Narduzzi has done for Pittsburgh is bring stability to a program that severely lacked it prior to his arrival. They did claim the ACC Coastal in 2018, but it was with a 7-5 record overall and the Panthers were mauled by Clemson in the conference title game.
Narduzzi came to Pittsburgh with a reputation as a defensive mastermind from his days at Michigan State. Since taking over the Panthers, his defenses have ranked 36th, 75th, 65th, 106th, 57th respectively in scoring. He had some early success mostly on the backs of players he inherited (James Conner, Nathan Peterman, Tyler Boyd), but he does have a team coming back next season with the pieces to challenge North Carolina and Virginia Tech. Defensive tackle Jalen Twyman is back for his junior season after 10.5 sacks (third in the ACC) and 12 tackles for loss. His highlight reel is very very fun. Most of the weapons on offense return as well.
One interesting stat on Narduzzi's tenure so far. He's 38-29 overall, winning 56.7 percent of his games. In the 15 seasons prior to his arrival, the Panthers won 56.9 percent of their games. In terms of modern-day expectations for Pittsburgh, Narduzzi is neither exceeding nor falling short of that standard.
10. Dave Doeren (Trending: DOWN)
It bodes well for the ACC that Doeren is all the way down at tenth on this list. I don't think Doeren has proven to be an elite coach, but all things told he's done good things in his seven seasons at State. If you take out a 3-9 campaign in his first year, the 'Pack are 44-33 overall in the last six years. Doeren has produced a surprising number of impressive NFL players, including Bradley Chub, Nyheim Hines, Joe Thuney, Jacoby Brissett, Jaylen Samuels, Garrett Bradbury, and Ryan Finley.
That's the optimistic way to look at Doeren. The pessimistic way is to look at the pros he had on the roster over the last five years and wonder why he doesn't have more than one regular season with at least nine wins to show for it. Last season was always going to be a pretty substantial rebuild with the talent he lost after 2018, but even with that in mind, the 'Pack were flat-out non-competitive at times towards the end of the season. Injuries played a major role in that, so it's safe to give Doeren a minor pass for the struggles in 2019.
Mack Brown's resurgence in Chapel Hill is going to make a lot of State fans very anxious if they can't get back to playing like a borderline Top 25 team quickly. Doeren knows what he's doing, but it feels like the program is teetering on the edge of mediocrity. 2020 is a huge year for them.
11. Dino Babers (Trending: DOWN)
Nobody's stock plummeted more in the past year than Babers, who went from one of the hottest coaching candidates on the market to a disastrous 5-7 season in 2019. The Orange were a trendy pick to upset Clemson early in the year before a humiliating 63-20 loss to Maryland the week before. Three of the Orange's five wins last season came against Liberty, Western Michigan and Holy Cross. Another came against a severely depleted Wake Forest team at home in overtime.
Babers may have waited just a little too long before jumping ship from Syracuse. I loved his name for the Miami opening, among others, after a 10-3 run in 2018. Unfortunately he's now four years in at Syracuse and has only one winning season to show for it. He had terrific runs at Eastern Illinois and Bowling Green prior to 'Cuse, but each of those stints lasted just two years. He has not proven that he can build and sustain a winning culture as a head coach. I'm not saying he is Willie Taggart, but there is a very Taggart-ish feel to his track record.
12. Geoff Collins (Trending: UP)
I would love to rank Geoff Collins higher than this but it would be entirely based on my own projection that Georgia Tech will one day soon be in a much better place. Collins' track record has yet to jump off the page at you when it comes to wins and losses. He was 15-10 at Temple with two straight bowl appearances, and walked into an absolute mess at Georgia Tech last year before going 3-9 for his debut.
Collins is one of the most energetic head coaches in America and an absolute force on the recruiting trail. It's obvious to anyone who follows Georgia Tech that the transformation from Paul Johnson's triple option to well, a normal football scheme, is going to take several years across multiple recruiting classes. Collins reminds me of Buzz Williams in a lot of ways. Both are tremendous at creating buy-in from their players when there's not much to buy into. I have a feeling it won't be long and Collins' name will be much higher than this.
13. Jeff Hafley (Trending: TBD)
Boston College made a great hire in plucking Hafley from Ryan Day's coaching staff at Ohio State. A longtime NFL assistant but also a savvy recruiter in college, Hafley is young (39 years old) but very well respected throughout the coaching ranks at both levels. He did wonders to resurrect Richard Sherman's career in San Francisco, and last season helped coach arguably the best secondary in America at Ohio State.
San Francisco 49ers cornerback Richard Sherman on Ohio State co-defensive coordinator/secondary coach Jeff Hafley: "His preparation is some of the best I've seen. I've had some great defensive back coaches, great defensive coaches, great defensive minds and he's right up there."
— Garrett Stepien (@GarrettStepien) January 7, 2019
He's got a tough job now. Jeff Jagodzinski was able to win pretty big at Boston College, but it's been a decade since the Eagles were truly relevant in the conference race. Recruiting the northeast when you're in a predominantly southeastern conference is a major challenge. The key for his success will be to develop 2 and 3-star kids into 4 and 5-star players. Think Dantonio, Patterson, Beamer. That's the blueprint for success at Boston College.
14. Manny Diaz (Trending: UP)
It's hard to imagine Diaz's first season at Miami going any worse. After a highly successful three-year run under Richt as the Canes' defensive coordinator, Diaz took over the program and oversaw an incredibly turbulent 6-7 campaign that included losses to 3-9 Georgia Tech, Florida International, Duke and a 14-0 shutout loss to Louisiana Tech in the Independence Bowl.
Diaz shook up the coaching staff, parting ways with respected offensive coordinator Dan Enos in favor or Rhett Lashlee from SMU and formerly of Auburn. He landed the 2018 American Athletic Conference Offensive Player of the Year D'Eriq King, and the 2019 AAC Defensive Player of the Year in Quincy Roche on the transfer market.
Disciplinary issues were a major problem for Miami last season. According to reports after the season, a lot of it stemmed from the quarterback room. Diaz needs King to be a calming presence in 2020, and hopefully bring some of that record-setting talent from Houston down to Coral Gables as well.
Diaz seems like a great guy. He's credited with coming up with the turnover chain. Miami has forced more takeaways in the last three years than any other team in the FBS. At some point though, you have to be less about chains and more about trophies.
Posted in ACC, College FootballTagged acc football, bronco mendenhall, Dabo Swinney, dave clawson, dave doeren, justin fuente, mack brown, manny diaz, scott satterfield
Previous The NCAA's Transfer Rule is changing. That's a good thing…right?
Next Nick Saban breaking down Tua Tagovailoa and Joe Burrow's film is Football Porn