text:
Eric M. Appleman/Democracy in Action text updated on April 30, 2009
Main Transition Page
First 180 Days of the Bush Administration
DEMOCRACY IN ACTION photo
March 26, 2009--"Open for Questions," a online townhall focused on the economy, drew 104,074 questions from 92,933 people. The White House reported that Internet users cast 3,605,985 votes in selecting the most popular questions.
The "first 100 days" is an arbitrary notion. The original first 100 days refers to the start of President Franklin Delano Roosevelt's tenure in 1933 during the Great Depression (+), and the 100 days continues to be used as a convenient marker to measure a president's early progress. Just as one cannot judge how a runner will perform in a marathon from the first two miles, one should not draw too many conclusions about a term of 1,461 days from the first 100 days.
Nonetheless the early actions of a new adminstration are fraught with symbolism and can give a sense of how it will operate. Groups had been pressing for fast action on everything from health care reform to closing Guantánamo to the Employee Free Choice Act to DC statehood to pursuing alleged transgressions of the Bush adminstration. President Barack Obama's first official act, on January 20, was to issue a proclamation declaring the day a National Day of Renewal and Reconciliation. On January 21, his first full day in office, Obama sought to emphasize openness and transparency; he signed executive orders on presidential records and ethics commitments by Executive branch personnel and presidential memoranda on the Freedom of Information Act, a pay freeze for senior White House staff, and transparency and open government. On January 22 he signed executive orders requiring closure of the detention facilities at Guantánamo "as soon as practicable, and no later than 1 year from the date of this order" and ensuring lawful interrogations. And on January 23 he issued a memorandum rescinding the Mexico City Policy ("global gag rule"), a Reagan-era rule that set limitations on USAID grants to nongovernmental organizations involved in family planning.
The beginning of any administration is a time of many firsts. On January 26 Obama did his first formal interview as President, speaking not to an American network, but with Al Arabiya. On January 27 Obama made his first trip to Capitol Hill, holding meetings with House and Senate Republicans to promote his economic stimulus plan. On January 28, with wars continuing in Afghanistan and Iraq, Obama made his first trip to the Pentagon as commander-in-chief. On January 29 he signed his first piece of legislation, the Lilly Ledbetter Fair Pay Restoration Act. On February 9 he held his first news conference as President. On February 20 he made his first trip overseas as President, visiting Ottawa, Canada for about six hours. On February 22, the Obamas hosted their first State Dinner, feting the nation's governors who were in town for their annual meeting. On February 24 he met with Japanese Prime Minister Taro Aso, his first meeting with a foreign leader at the White House. On April 20 he held his first Cabinet meeting.
Government Printing Office Photo >
The work of building the administration continued throughout the 100 days, and will continue in the weeks and months ahead. Treasury Secretary-designee Timothy Geithner was confirmed on January 27, but it took longer than expected after it was revealed he had not paid some back taxes and a housekeeper he employed had not had proper documentation. There were early rumblings that Republicans might target Obama's Attorney General pick, Eric Holder, but that did not happen. HHS-designee Tom Daschle ran into problems with unreported income and back taxes and withdrew from consideration in early February; Nancy Killefer, Obama's choice for chief performance officer also withdrew. The Senate took two months to approve Rep. Hilda Solis (D-CA) as Labor Secretary after questions were raised about leins on her husband's business. Commerce proved particularly vexing. After Obama's first choice, Bill Richardson, withdrew, Obama announced Sen. Judd Gregg (R-NH) for Commerce Secretary on February 3, but less than two weeks later Gregg withdrew. Obama finally settled on former Gov. Gary Locke (D-WA), and announced his selection on February 25. On March 2 Obama named Gov. Kathleen Sebelius (D-KS) as his choice for HHS Secretary. Questions over abortion slowed Sebelius' confirmation, but the Senate finally approved her nomination on April 28. The administration continued to announce appointments to the White House staff, nominees for subcabinet positions (Deputy Secretary, Under Secretary, Assistant Secretary), agency administrator posts, and members of various boards and councils, as well as people to fill Schedule C (political) positions.
"The Most Severe Financial Crisis Since the Great Depression"
On the very day Obama was sworn in, the Dow Jones Industrial Average lost 332.13 points. Layoffs and job cuts continued. The first order of business was the economic stimulus package, which stands as the signature accomplishment of the first 100 days. After early talk that they might have a bill waiting for Obama when he arrived in the Oval Office, Democrats aimed to pass stimulus legislation by mid-February. How big would it be, what would it include, and how much Republican support it could garner? On January 28 the House passed the $819 billion American Recovery and Reinvestment Act by a margin of 244-188, without a single Republican vote (reactions). Conservative radio talk show host Rush Limbaugh termed it the "porkulus" bill. On February 10 the Senate approved its version of stimulus legislation by a vote of 61-37; three Republican Senators voted for the measure (Susan Collins and Olympia Snowe of Maine and Arlen Specter of Pennsylvania). After conference committee, Congress approved a $787 billion package on February 13; the House vote was 246-183 and the Senate vote 60-38 (reactions). Obama signed the legislation into law on February 17. (remarks; H.R. 1) According to the administration $288 billion will go for tax relief, $144 billion for state and local fiscal relief, $111 billion for infrastructure and science, $81 billion for protecting the vulnerable, $59 billion for health care, $53 billion for education and training, $43 billion for energy, and $8 billion for other purposes; this will "create or save 3.5 million jobs." The Administration emphasized spending the money quickly and wisely while avoiding waste and fraud. Vice President Joe Biden chairs regular implementation meetings, a Recovery Act Transparency and Accountability Board was established, and the recovery.gov website further added transparency.
Given the global economic crisis, the economy was front and center from day one. At the outset of the administration Obama added an "Economic Daily Briefing" to his schedule during which he and top aides go over the latest economic news. On February 6 he signed an executive order establishing an Economic Recovery Advisory Board. On February 25 the CIA began to produce a daily classified "Economic Intelligence Brief" reviewing international economic developments for top officials. The White House Task Force on Middle Class Families, headed by Biden, held its first meeting on February 27.
On February 10 Secretary Geithner announced the financial stability plan. The initial announcement did not go over too well, but over the next several months elements of the plan were rolled out including the Homeowner Affordability and Stability Plan (February 18) to address the home mortgage crisis (the administration estimated the plan would help between seven and nine million homeowners); the Consumer and Business Lending Initiative (March 3) to revive credit markets; and the Public-Private Investment Program (March 23) to help financial institutions clear up troubled assets. [see financialstability.gov] On February 20 the Presidential Task Force on the Auto Industry convened to take up the restructuring of General Motors and Chrysler, the two companies which had received emergency loans under the Bush administration. On March 30, Obama announced that neither company had submitted a sufficient restructuring plan. He gave GM 60 more days to improve upon its plan and Chrysler 30 days to work out an agreement with Fiat or face bankruptcy. Obama also announced the resignation GM chairman and CEO Rick Wagoner "as an initial step." In addition to steps to address the immediate problems, the administration also started work on regulatory reform. A noticeable hiccup in all these efforts occurred in mid-March when news over bonuses to AIG executives generated considerable outrage.
Meanwhile, the budget process unfolded. As a prologue, on February 23 Obama held a summit on fiscal responsibility where he pledged to cut the deficit in half by the end of his first term. On February 24 Obama presented the big picture in his address to a joint session of Congress, declaring that the "day of reckoning has arrived, and the time to take charge of our future is here." In the speech Obama reviewed the stimulus package and steps to counter the credit crisis and then focused on energy, health care, and education. On February 26 he released an outline or blueprint of his first budget (remarks, reactions). "A New Era of Responsibility" outlined the specific investments in energy, health care and education that the Administration proposed. Obama declared that, "While we must add to our deficits in the short term to provide immediate relief to families and get our economy moving, it is only by restoring fiscal discipline over the long run that we can produce sustained growth and shared prosperity." All told the plan called for outlays of $3.55 trillion in FY 2010 and a deficit of $1.17 trillion after spending of $3.94 trillion in FY 2009 and a deficit of $1.75 trillion.
In a statement, House Republican Leader John Boehner said, "This budget taxes, spends, and borrows its way toward a bigger, more costly federal government at the expense of small businesses, family farms, middle-class families, retirees, every American who owns a 401(k), and anyone who flips on a light switch." Senate Republican Leader Mitch McConnell stated, "I have serious concerns with this budget, which demands hardworking American families and job creators turn over more of their hard-earned money to the government to pay for unprecedented spending increases."
One of the more interesting areas of the budget blueprint was health care, where the plan called for "a reserve fund of more than $630 billion over 10 years that will be dedicated towards financing reforms to our health care system." The plan acknowledged that this is "not sufficient to fully fund comprehensive reform" but called it "a first crucial step." Rather than setting out a detailed program on how health care reform will be accomplished, the plan outlined eight principles. On March 5 Obama convened a White House Forum on Health Reform, which brought together members of Congress and stakeholders. "Our goal will be to enact comprehensive health care reform by the end of this year," Obama declared (remarks). [www.healthreform.gov]
"Last year's business," the $410 billion FY 2009 Omnibus Appropriations Act, created an awkward situation for Obama. The legislation, which should have been finished in 2008 to keep the government running through the end of the fiscal year, was replete with thousands of earmarks. The House passed the omnibus on February 25, the Senate on March 10. Obama signed it on March 11, but he also outlined principles for earmark reform. "I am signing an imperfect omnibus bill because it's necessary for the ongoing functions of government, and we have a lot more work to do," he stated. "We can't have Congress bogged down at this critical juncture in our economic recovery."
By April 10 Obama could say that there were "glimmers of hope" on the economy, but there were also many signs of continued difficulties from long lines for jobs and job fairs to the prospect of more rounds of foreclosures. On April 29 the Bureau of Economic Analysis reported that according to advance estimates real gross domestic product decreased at an annual rate of 6.1 percent in the first quarter of 2009, following a 6.3 percent contraction in the fourth quarter of 2008. On Capitol Hill, the House and Senate passed the FY 2010 budget resolution by party line votes -- 53-43 in the Senate (Democrats Bayh, Byrd and Ben Nelson, as well as Arlen Specter, voting against) and 233-193 in the House (reactions).
On the World Stage
Obama faced a number of challenges in his role as Commander-in-Chief. On February 17 he presented plans to send an additional 17,000 troops to Afghanistan. On February 27 he announced plans to draw down combat forces in Iraq by August 31, 2010; a residual force of 35,000-50,000 troops will remain, to be phased out, as required, by the end of 2001. These decisions did not sit well with peace activists (press release). In addition to his short visit to Canada, Obama made two overseas tours. On March 31 he embarked on a trip that took him to the United Kingdom for the G-20 meeting in London, to France and Germany for the NATO summit, and to the Czech Republic, Turkey, and an unannounced stop in Iraq. Following the G-20 summit Obama stated that "after weeks of preparation, and two days of careful negotiation, we have agreed on a series of unprecedented steps to restore growth and prevent a crisis like this from happening again." Particularly noteworthy was a significant boost in funding for the IMF. In mid-April Obama visited Mexico and then attended the Summit of the Americas in Trinidad and Tobago. Although Obama did not face a major foreign policy crisis in the first 100 days, tense moments came with North Korea's April 5 launch of a Taepo-Dong-2 missile and the taking of an American captain as a hostage by Somali pirates on April 8. The swine flu outbreak was grabbing headlines, and there were concerns it could reach pandemic proportions.
On the question of holding the Bush administration accountable for reported abuses, Obama ran into a bit of a sticky mess. A number of liberal groups (example) and some on Capitol Hill wanted "truth commission." As Sen. Patrick Leahy (D-VT) stated on CBS' "Face the Nation" on April 26, "I know some people say, let's turn the page. Frankly, I'd like to read the page before we turn it." Debate on this subject heated up on April 16 when the Department of Justice Office of Legal Counsel, involved in a FOIA request with the ACLU, released four Bush-era legal opinions on interrogation techniques. A week later the administration said it would also release photos of detainee abuse. While emphasizing he wanted to move forwards and not backwards on these issues, Obama sent mixed messages.
In addition to the hard work of governing, there were lighter moments. On March 20 Michelle Obama joined with students from Bancroft Elementary to start the White House Kitchen Garden in a section of the South Lawn. In April, Bo, a six-month old black and white Portuguese water dog, made his debut at the White House in front of a media circus (press releases).
Republicans In A Tough Spot
Although the Democrats' spending plans provided large targets for conservatives and Republicans to rally against (see CPAC 2009), this reinforced Democrats' portrayal Republicans as "the party of No." Republicans seemed to be casting about for ideas and leaders. They had McConnell and Boehner in Congress, while over at the RNC chairman Michael Steele experienced a rocky beginning. The loudest voices on the conservative side came from Rush Limbaugh and other talk radio hosts who fulminated daily against Obama and congressional Democrats. Limbaugh in particular emerged as a lightening rod with his declaration, "I hope he fails."
Republicans pointed to ongoing media bias that worked against them. For example, an analysis (1) by the Center for Media and Public Affairs of ABC, CBS and NBC evening newscasts during the first 50 days found that, "Mr. Obama has received not only more press but also better press than his immediate predecessors." The numbers were fairly staggering: a total of 27 hours and 44 minutes of airtime on the Obama administration compared to 7 hours and 42 minutes on the Bush administration and 15 hours and 2 minutes on the Clinton administration in their first 50 days. Further 58 percent of evaluations of Obama by sources and reporters were positive compared to 33 percent for Bush. A study (2) by the Pew Research Center's Project for Excellence in Journalism of news coverage in the first 60 days of the adminstration likewise found that, "President Barack Obama has enjoyed substantially more positive media coverage than either Bill Clinton or George Bush during their first months in the White House."
The GOP suffered several setbacks during this period. In the March 31 special election to fill the 20th CD seat in eastern New York that had been held by Kirsten Gillibrand, venture capitalist Scott Murphy (D) defeated Assemblyman Jim Tedisco (R); the vote was close enough that it took until April 24 for Tedisco to concede. A sharper blow fell on April 28, when Sen. Arlen Specter (PA), looking towards his 2010 re-election campaign, announced his switch to the Democratic party (statement, reactions). Although the Minnesota Senate race remains unsettled following Norm Coleman's appeal of the court decision that gave Al Franken a 312-vote win, Specter's move appeared to put Democrats on the path to a filibuster-proof 60-seat majority in the Senate.
April 29: The 100th Day
"And so the typical President I think has two or three big problems; we've got seven or eight big problems. And so we've had to move very quickly, and I'm very proud of my team for the fact that we've been able to keep our commitments to the American people to bring about change while, at the same time, managing a whole host of issues that had come up that weren't necessarily envisioned a year and a half ago." -President Obama in his April 29 press conference.
In a period of one hundred days, President Obama and congressional Democrats passed a $787 billion stimulus package and a $3.55 trillion budget resolution. The question is whether these bold measures represent sound investments for the future or steps towards big government socialism and mountains of debt for future generations. Obama marked the 100th day of his administration with a town hall meeting in Arnold, MO, 20 miles south of St. Louis, and the third prime-time press conference of his presidency. He declared himself "pleased with the progress we've made, but...not satisfied." "We've come a long way, we can see the light on the horizon, but we've got a much longer journey ahead," he stated.
CPAC 2009 - Feb. 26-28
Value Voters Summit - Sept. 18-19
Copyright © 2009 Eric M. Appleman/Democracy in Action


Hi all. Here i am with yet another tutorial. Programming in IOS. Dont confuse it with programming IOS because you cant do it. IOS is not open source so you cant make extensions/modifications to it, But IOS allows you to use TCL (pronounced "tickle") scripting language to write scripts to get tasks done in a different and more feasible way, that was either not possible before or too complicated. One example is the recent query posted by our fellow member superr about how to monitor snmp OID to trigger events. Although the solution was in EEM, but the same could be done using tcl.
Those who are totally new to this stuff will be getting confused as to what i am talking about. So lets see a few examples, that are very practical and you may encounter tasks similar to these more often.
When router cpu utilization reaches 30%, send an email to me, plus give only the first five top processes in "sh process cpu sorted".
If router cpu utilization reaches above 80%, check the current processes to see if the top 2 processes contains ARP-Input, if this is the case, check the show int <interface-name> to see which interface is getting lots of broadcast. Find the interface and shut it down, Wait for 3 mins and recheck the process level to see if its ok (below 80%), if yes then check the WAN link to reach the email server, if the wan link is reachable, send an email to notify the support engineer that this event has occurred !!
1) manually opening the router and viewing the running config ?
2) manually opening the backup config stored on your pc and viewing it ?
3) Or simply open the router, paste the tcl script, that will do all the checking, in the end telling you which interfaces are not vpn enabled and optionally enabling the IPSEC vpn on them !!
Depending on your views, these example might be appealing and might not. But if you are network administrator of 100+ routers, then i consider scripting/EEM to be a must-know knowledge, SIMPLE !!. There is no option, you must learn it. It gives you more control and chances of your completing complicated tasks increase dramatically.
I would recommend the following books to learn more about tcl and how to program.
But remember, i have spend 4 years in my BS doing programming, and no book can teach you how to program. They will at best simply teach the syntax of the programming language but wont teach you, how to solve your problems using programming language. So you need to do a lot of practice in order to become a good programmer. Remember, scriping in IOS doesnt require or expects that you start building robotic arms, or robots that speak by themselves, no automatic cars are required, NOTHING !!!!!.
Q) So what the hell i will be doing ?
A) Trust me or not, most of the time, you will be required to do string parsing, extracting your desired result, comparing it with some predefined value and doing some action. Thats it !!
Q) Is it really that simple, or you think i am a dumbo ?
Q) What if i am not convinced ?
NOTE: this entire tutorial will be very very specific to scripting in IOS. Remember that.
Some of the programming essentials !
Programming is same as scripting. I may use the word program and script interchangebly, so dont get confused, they are the same thing.
Variables are fundamental in every programming language. You will never see a language without variables, and perhaps not a single proper program written without using variables. NEVER !!
over here, the name of variable is "myfirstvar" and the value of this variable is 4. simple :-).
Q) Hey hey, what simple ? whats simple about this ? when and why i will be using variables ?
2) When you need to use a same value more then "1" time in your program.
User input must be kept somewhere, so for that purpose its necassary to use variables or more properly storage areas.
Now before going into detail, lets see tcl in your router. login to your router and type tclsh from exec mode.
R1(tcl)# puts "hi, i am in tcl :-)"
"puts" keyword simply displays what ever is given under inverted commas on screen.
Now this was not i expected. the variable "myfirstvar" is simply a place to store the values. So if you have a locker in bank, then the stuff in that locker is important and not the locker. So variable is the locker, the value is the stuff you place in that locker. So to get the value inside myfirstvar, you have to put the dollar sign in front of it..
Now lets create 2 variables, assign them numbers and add them. To do mathematical calculations, tcl uses keyword "expr"
[expr $var1 + $var2] gives value 300, which will be replaced with it and appears like above statement. We will be using square brackets alot so dont be confused.
2) ios_config -> to run all config mode commands.
R1(tcl)# ios_config "int serial 1/0" "ip address 11.0.0.1 255.255.255.252" "no shut"
Note: While in tcl mode, you can run IOS commands directly without these keywords, but as we go deeper, you will understand why these keywords make a difference.
Now lets create a simple tcl program.
Create a tcl program to calculate the DRAM on your router.
Now lets see how to write a program.
1) First solve it on paper and follow the steps carefully, observe deeply how exactly did you solved this issue.
First i will do "show version"
Cisco 3640 (R4700) processor (revision 0xFF) with 116736K/6144K bytes of memory.
I will locate the line in bold. then i will add both values i.e. 116736 and 6144 and to convert it to MB, divide it by 1024, which gives me the value of 120.
(i am using dynamips and have given exactly 120 ram, so this calculation producess perfect result :-) ).
Now remember, machines are simply dumb, you need to tell them each and everything to solve the issue, because whether you realize it or not, you also require all the pieces together in order to solve the issue. You can sure make some assumptions, but that assumption is usually not completely random, its always based on some prior knowledge. But in case of computers, you have to tell them everything. Now lets break the above solution to MOST SIMPLISTIC STEPS.
3) Add both the values before and after "/"
PARSING THE GIVEN INPUT FOR A SPECIFIC STRING.
Q) whats a string ?
A) String is the collection of characters. Everything you type whether a number or a letter is essentially a character. So what ever we type, if it contains more then 1 character, it will become string. So this whole tutorial can be thought of a very large string.
Q) what do you mean by parsing the string ?
A) Parsing the string means, going through the string looking for something. Like in our case, i will parse (look through) show version output to locate the line containing the DRAM values.
1) Taking the input, splitting it till i get to the value i want.
expressions. They are fast and easy way to search for a given string.
CCNP guys must have played with BGP and surely regexp. Those who havent, you must do it. I will be giving a brief tutorial on how to use regexp.
Q) What are regular expression ?
A) They are more general/dynamic way of respresenting a given string.
Q) Oh yeah !!! i know i am being dumb but it actually went over my head you know !
A) Ok so just read on.
* means zero or more occurence of the character preceding this.
+ means one or more occurence of the character preceding it.
Q) ..... WHAT ??? i have seen regexp and they are lot more, you are cheating !!!!!!
A) Explanining regexp is not a part of this tutorial. I will be using a simplified approach to use regular expressions.
Hi, my height is 100 foot 11 inches. My color is fair, i have bright blue eyes and shiny hairs. Yesterday i had fever measuring 100. WOW !!
Q) Are you talking about yourself ?
Now using regular expression, EXTRACT the fever value.
Now, focus the surrounding of the value you need to extract. "Yesterday i had fever measuring 100. WOW !!" and ALSO "Hi, my height is 100 foot 11 inches"
We need the second 100 value thats after word "measuring". So in my opinion, i will tell the regexp to get me the value that is after "measuring <space>". Rest is all garbage right ?
So in regexp, you must define what is garbage for you and what part is important. In our case, all what is before "measuring" is garbage, and all after 100 is garbage too. Garbage in regexp is denoted by ".*"
keep in mind, that we want to write a general expression so that it will give us any value that comes after measuring<space>. Since this value (fever) is expected to change (since i am telling you !!), you have to generalize this using regexp.
This is right but not 100%. Fever values are usually like 98,99,100,102,104 etc.
Now, this says that number from 0-9 can appear more then once. Strictly speaking, it satisfies our need. But what if a value is given with 4 digits ?, or extremely high fever like 300 which is not possible, so let me give you a relief that, we wont be going into that much complication. AS long as we are able to extract our needed value out of given input, we are fine.
Q) Why have you written "\." ?
A) As you know that "." is the regexp itself. I wanted to write period as it was appearing in statement, so for this purpose i add "\" telling the regexp that period is the literal value and not a regexp. Same is true for other regexp such as +,* etc. When you need to specify them as literals, just place a "\" before them.
first lets assign this whole statement to a variable.
nd shiny hairs. Yesterday i had fever measuring 100. WOW !!
Now lets see the syntax. Regular expression is written after regexp keyword and in curly braces. The value you need to actually extract is placed with round brackets within those curly braces. Then you place the variable containing the string that will be evaluated by the regexp followed by yet 2 more variables. The first variable will contain the complete string (which is useless to us) and second variable contains the value that will be extracted by the round brackets, which in our case will be value 100 as show in above example.
Now lets get back to our example of extracting DRAM values from the entire show version string.
First just pick up the line contaning the values.
"Cisco 3640 (R4700) processor (revision 0xFF) with 116736K/6144K bytes of memory."
Now if you have multiple platform, then the first value "Cisco 3640" is likely to change. Just run sh version on couple of routers and see which part of this line always remain constant. In my view it was the last 3 words " bytes of memory". You can verify this by looking at the entire ouput and making sure that these 3 words dont appear anywhere else, thus making this line unique.
Now first try to write your own regexp for this.
R1(tcl)#puts "the DRAM is [expr ($first_val + $second_val) / 1024]"
puts "the DRAM is [expr ($first_val + $second_val) / 1024]"
Check to see, if you get the correct output or not :-).
Trust me, it just needs a practice of 1 or 2 days. We will move on once you are bit comfortable with regexp, since we will be using them alot. There would be rarely a script that will be written without them.
This is just the start. These are not TCL based EEM scripts but they use similar logic. I will be writing more if you guys are getting what i am explaining here. Just give it a little effort and you will never regret it.
Thank you! A very nice Christmas's present for us all!
Hi all. if you completed the assignment then you probably have some idea about how to use regexp.
Q) Why are they so important ?
Q) When do you think i will be ready ?
There are lots of resources on understanding regexp, and explaining them so that a totally newcomer understands it, is i think out my scope but i will still try. And for your comfort, we will use simple IOS for now.
Now if you knew it or not, when you use pipe "|", after include/begin/exclude you have been giving regexp all the time.
Q) No, thats a bluff, i havent read it on any cisco doc !!
A) How many cisco docs have you read on this topic ?
Q) But i have been writing the name of complete commands, how could that be a regexp ?
A) Ok tell me what you have been writing ?
A) So what makes you think you havent typed a reg exp here ?
Q) You dont understand !!, there is no regexp here, i didnt use "*", ".", "+" etc any of the regexp operators here.
A) Now i understand your confusion.
There is one thing that we call "regular expression engine". Suppose you open a document, and want to search for all the ip addresses in it. How will you search it using simple notepad or wordpad ? As far as i know, you cant so dont consider regexp something that you can skip and move on.
Regexp are ways of defining a string in more general way.
For example, this whole tutorial could be represented by a regexp ".*". Regular expression engine, is basically a software that can evaluate your given regexp and searches the document for all the strings represented by that regexp.
Taking 1) Follow me carefully.
i have a number 10 followed by a period then again i have a number 1 followed by a period, then again i have number 10 followed by period, then i have number 1.
Well, it was TOO GENERAL. What shall be the length of the number ? ask yourself.
Q) You mean to say the valid range like 0-255 ?
A) NO, i mean how many digits will every number contains ?
Q) Well, it could be one, two or three digits !
In regexp the ranges are always enclosed inside square brackets where hypen "-" is the range operator.
10-15 means 10, 11, 12, 13, 14, 15.
but what about (1/2/3 times) ? how to represent this in regexp. Remember, there is a little IOS secret i will gonna tell you in the end. Just understand it for now that when ever you are sure that something will appear "ONE AND MORE TIMES" just place "+" sign after it and you are done. Dont care how many times it will repeat, like in our case, numbers 0-9 can come in 1 digit or 2 digit or 3 digit, we simply dont care about it, as long as we are expecting number 0-9 being repeated more then once, we will put a "+" sign in front of it.
Now since period "." is appearing here as a normal character in this string but is also a regexp operator, we must tell the regexp engine to treat this period as a literal(normal) character and no a regexp. So for this purpose we need to place "\" in front of it.
Now, for our tcl scripts, as long as you are able to come up with a regexp that extracts the needed value out from a string, you are good. No need to write sophisticated regexp. Although learning to write them will surely benefit you and i would recommend learning regexp to much greater depth.
278.1.1.1 right ? in normal regexp tutorials, they will put a check of this, but in our case we dont need to because we already know that this is not possible in IOS. So IOS already verifies the integrity of commands and input so we dont need to do it again.
Q) Where is the secret in this ?
A) I was talking about the way IOS can ease your job when you dont have to perform integrity checks.
Q) You know what ? i think this is what we call "giving a lollypop", and you have done just that !!!
A) Well, the more you play with scripts, the more you will remember this secret and the more you will appreciate it.
Secondly, consider the following example.
Display the 5 top processes from "show processes cpu sorted"
Now lets first see the output. Run the following command on your router.
Now, if you focus a bit, you will see that processes will usually jump up and down in this result. At sometime, you may see IP-Input at top, sometime SSH process coming up. If you have a production router, try running this command frequently and you will see that the results are never constant and ofcourse they cant be, different processes are invoked and killed/terminated along the way so there is no way this output can ever be constant. The point is, regexp arent of much use here. Regexp will serve you best, when the given input is itself constant or static. Still confused ? Dont be, lets try to solve this issue on the paper.
The requirement is to collect first 5 top processes.
1) Run "show process cpu sorted"
2) Parse the output. First line starting with "CPU utilization for five ..." is not important, since it doesnt contains information of processes.
3) Second line is the start of table with headings PID, Runtime(ms) etc, this is also not important.
4) Fourth line contains the first process PID and last column of this fourth line contains the process name. So we have found our top first process.
5) Fifth line contains the second process.
6) Sixth line contains the third process.
Now remember, if you figure out a way to solve this problem through regexp alone, then thats wonderful. When you are writing scripts, it depents completely on you as to how you solve it. Proper established programmers may know a lot more decent and recommended ways of solving these issues but since we are beginning this journey, there is only 1 goal in front of us. Write a script to get a task done. SIMPLE !!!
So in order to solve this issue we will use two techniques.
2) Indexing the splitted string.
Now lets see what do we mean by doing some practical. I want to split the "sh processes cpu sorted" output in individual lines.
Q) I tried this command but it said, invalid input detected !
Now just for the sake of practice, verify if process_output contains the result.
Note: In all Tcl tutorials, remember that you are free to choose any name for your variables. I choose them as i like so the variable process_output can have any different name as per you liking.
Now to split an output, you have to first decide, what "character" do you need the string to be split at. Now before going any further, lets clarify this point.
Suppose i give the following line.
Hi. My name is blah blah. I study in blah blah. My favourite hobbies are blah blah. My best friend is blah blah. I hope you like this blah blah.
R1(tcl)# set sample "Hi. My name is blah blah. I study in blah blah. My favourite hobbies are blah blah. My best friend is blah blah. I hope you like this blah blah."
ah. My best friend is blah blah. I hope you like this blah blah.
split $<variable-name> "<splitting character in inverted commas>"
Q) Ok, i see what is happening, but i still didnt get the purpose. Why are you wasting my TIME !!!!!
Q) What original problem ?
A) The get the top 5 processes !!
Q) When did you give this problem ? where was i ?
Now remember, indexing in tcl and other languages usually start from 0 and not 1. So the first line will be at index 0, second line at index 1 and so on.
Lets store the output and split it.
Now, over here, i want to split the string whenever a new line starts. So that i can get the whole line. If you want someother criteria feel free to experiment with it, just remember, the main goal for now is to get the task done. I decided to use "newline character" denoted by this special form "\n" Those who are familiar with programming should be knowing this character. Those who dont, just understand that "\n" means a newline character.
Now to get the required lines, we will use indexing.
AS you can see, we are able to extract 5 top processes using splitting and indexing. It wasnt too difficult right ?
Q) YEAH, NOT AT ALL DIFFICULT, I THINK I WAS BORN WITH TCL IMPLANTED IN MY BRAIN. ARE YOU CRAZY, I AM DOING THIS FOR THE FIRST TIME AND GETTING THE WORST HEADACHE AND YOU ARE SAYING ITS NOT DIFFICULT !!
A) Well, there are something you ought to learn, whether the easy way or the hardway.
Those who have made this far will be questioning themselves, do we really need to do it ? may be i (pappyaar) have been a programming guru or have friends/teacher to help me out. But this is not the case. Even in my BS days, i didnt have anyone to help me out. I just learned programming by doing assignments that were given to us. I was able to write the pseudo-code (algorithm) which is 50% of programming i think. If you are able to solve the problem on paper, you just need to debug yourself and look cloesly how did you do it. What were the steps you have taken to complete this task. Your remaining job left now is to tell the computer in programming language to carry out the same steps in the same order. Thats it. Trust me programming is more fun then you could imagine.
Moreover, programming gives a self satisfaction that you have done it something completely by yourself. The more you get in programming, the more understanding you will get of underlying concepts.
Till next part, i want you to practice regexp and splitting-indexing, so that your parsing and searching skills become strong. If you guys are comfortable till this part, let me know with your feedback, so that i will start with TCL based EEM scripts.
You completely nailed this damn TCL .I am reading this and found handy as compared to CNAP or other books stuff. Definitely it must be a "post of the month" but hey you got this title before .
1) Introduction to TCL scripting in IOS.
3) Basics of tcl like variables, displaying on screen, expr keyword for mathematical operations.
5) Use of split and lindex keyword to split and index the splitted string.
In this part, we will learn how to do configuration by parsing some input. This will be a bit long example so make sure you are grasping all the stuff.
Write a script to check if your LAN interface is made passive under router ospf <process-id> or not. If its not, then make it a passive interface.
Now the question arises, how would you determine your lan interface ? Are you using same model throughout and are sure that a ---- interface is always your LAN interface ? or are you following a particular subnet scheme for your private network that might help us identify your lan interface ?
Now being a network administrator, you already know what format does your private ip address follows. In my case, i can say that my LAN IP has 10 in first octet and 1 in last octet.
as well. Its less likely but the possibility is still there. So what else i can do to make sure that the interface selected is indeed my LAN interface.
Q) How much will you think ?
A) Ok dont worry i figured it out.
2) Identify the interface from step 1 and make sure its description contains word "LAN"
1) Run show ip int brief.
5) Parse the output and pick the "LINE" containing the word description.
6) Parse the picked line to see if it contains word "LAN".
Now this is a simple overview of solving it. Consider the following output.
As you can see that loopback 0 and 78 contains the ip address of lan format (10.x.x.1). You have to parse each and every line of "show ip int brief" in order to make sure you have checked all the ip addresses. So what will you do when you have to do a task repeatedly ?
This is called LOOPING in programming.
Looping means to perform a task more than 1 times. It means that, either that task will be done indefinetly (infinite loop) or will end when the ending criteria is met.
So lets see how looping is done in TCL. The most basic loops that you will encounter are For loops, While loops, and Foreach loops. Each of them serve the same purpose i.e. looping but in a different manner. Mostly you will be using For and while loops. Now i am not a programming guru but as far as i know, we didnt had foreach loops back in C language. But they are extremely useful in traversing the lists.
Q) What are lists ?
A) Lists are simply collection of data. For example, if you want to store a 10 ip addresses to later use them, what will you do ?
A) Exactly, that is 100% correct. But tcl and other languages provide another feasible way of storing such values in a single variable. This variable is of type list. It means that all the values are kept inside a single name but with increasing index.
Q) It all went over my head, AGAINNNNNNN !!
Q) There is something fishy going on !!
Q) You think i am stupid ?
Q) No i am not. You are teaching me programming and this is where we are going. You are no way near IOS, you will divert your path and take me somewhere else, i need my money back !!!
A) I dont remember you paying anything !
Q) Doesnt matter, i still want it back !
Q) How much more FUNDAMENTALS do we need now ?
Ok now lets see how looping actually works. Suppose you want to practice OSPF, to view its database, or to practice NAT or access-list. For that you decided to create 60 loopbacks each with different subnet or same subnet with different IPs. Normally it would require sometime if you start configuring loopback directly in IOS, we since we need to create 60 loopbacks i.e. a repeated task, therefore we can use TCL loops to accomplish this.
For this script, we will use a while loop.
As you can see that loopback number and second octet are of same value, this is just for simplicity so we shall move on.
In while loops first we need to initialize the variable that will be incremented from 0 to 59.
This means that, as long as the value of var1 is below 60, the body in the while loop will execute, as soon as the value reaches 60 or above, it will terminate.
This means that, as long as the value of var1 is equal to 60, the body will execute, as soon as the value changes to other then 60, it will terminate.
+>(tcl)#ios_config "int loopback $i" "ip address 10.$i.1.1 255.255.0.0"
Note: incr i, "incr" is the special keyword that will increment the value of the variable by whatever value is given after the name of variable. If no value is given like in our case than the value is incremented by "1". We could have used expr keyword, it would have been 100% correct also.
Note: i am not using exec keyword here, so remember, when you simply want to perform IOS command, just do it, but if you want to use that result in your scripts, use the exec keyword, SIMPLE !!
It just took a couple of seconds to configure this. Practice the same with For loop. This is your assignment.
Q) Why ? why you skipped For loop and picked Foreach ?
A) Well, For is very similar to while, foreach is a bit different..
A) That's exactly i was going to show if you could be a little patient.
A) Where are you going ??
Q) Need a little break, but you please continue, i am sure i wont be missing anything !!
Lets look at the last fundamental of this tutorial. The famous IF-ELSE control structure.
IF-ELSE represent the action to be taken if a condition mets.
+>(tcl)#puts "yes the value is zero"
Ok, now, just practice a little bit and you will get comfortable with it in no time.
Lets get back to our original problem, to identify LAN subnets and making sure these interfaces are passive under ospf.
Ok now, lets see how i solve this issue. You can surely try to come up with your own solution. Right now, i dont care how much line my script takes, as long as i am able to do what i intend to do, that is fine with me.
Q) What ?? what kind of a regexp is this ?
A) Then practice a little more.
R1(tcl)#ios_config "router ospf 10" "passive-interface $loop_name"
Q) You have been doing this for ages, ofcourse its not difficult for you, you are being a show off !!!
For now, dont be scared for what you have seen so far. Scripting is a lot easier if you do regular practice.
Q) Hey, i just reviewd the question, you have not completed it the way you should have, where is the interface description check ?
A) Well, i skipped it to see if you were sleeping or not..
Q) Well i wasnt ?
Am reading through this, and it looks good !!!
Very nice Topic....i think its the Best topic in Jan 2010.
How did i miss this?. Paps, very nice. This is a must read.
Very Nice Topic,But ia have a doubt in this like why u didn't specify the literal symbol in the given given exp below as you have specified in the first example.
Let me know waht is that period and literal means.Thanks in advance for your reply.Awaiting your response.
Dear jalakampradeep, kindly elaborate your question since i didnt get what you mean :-). Highlight the first example and the expression you have given, and also highlight the point of confusion so i may clear it.
thank you pappyaar for posting this wonderful topic..i have studied this and practiced simultaneously in gns3..Can you post more information?


text:
Media Centre Media Centre >
Press releases Press releases >
Press releases 2019 Press releases 2019 >
Financial vulnerability of self-employed an 'area of concern' as figures show strong growth in numbers Financial vulnerability of self-employed an 'area of concern' as figures show strong growth in numbers
Financial vulnerability of self-employed an 'area of concern' as figures show strong growth in numbers
Becky O'Connor
Personal Finance Specialist
ONS employment figures published this morning showed that the rise in the number of self-employed people in the last year was greater than the rise in the number of employed people (an annual rise of 195,000 to September, compared with a rise of 110,000 employed people). The proportion of all workers who are self-employed is now 15.1 per cent.
Commenting on the figures, Becky O'Connor, personal finance specialist at Royal London, said:
"The growth in self-employment looks like a win for freedom and flexibility.
"In reality, it's almost 5 million people who may be earning less, not paying enough into their pension and experiencing cash flow issues that put them at risk of debt.
"They also miss out on employee benefits such as holiday and sick pay, life insurance and income protection.
"Many people may feel they have no choice but to become self-employed if they cannot find work that is suited to them. For some, it could be a choice between being self-employed and being unemployed.
"Often, this is mothers going self-employed to work around children.
"The financial vulnerability of this growing group of workers is an area of concern."
About Royal London:
Royal London is the largest mutual life, pensions and investment company in the UK, with funds under management of £130 billion, 8.8 million policies in force and 4,046 employees. Figures quoted are as at June 2019.
Becky O'Connor, Personal Finance Specialist
Email: Rebecca.O'Connor@royallondon.com
If you don't already have a financial adviser, you can find one in your area by using our handy tool, powered by unbiased.co.uk. Advisers may charge for their services – though they should agree any fees with you upfront.
Find a financial adviser tool about Need advice?

redpajama_set_name: RedPajamaCommonCrawl


text:
TRUCKSTOP.COM Announces Strategic Investment By Iconiq Capital
New investment to fuel product depth and innovation, while accelerating strategic initiatives and market penetration
Truckstop.com, the industry-leading freight marketplace and first online freight matching and load board solution, today announced a majority investment from ICONIQ Capital, a leading investment firm. As part of the transaction, ICONIQ Capital has become Truckstop.com's majority shareholder. Truckstop.com founder, Scott Moscrip and its existing management team, will maintain a significant ownership in the company.
Founded in 1995, Truckstop.com built the internet's first digital load board to address the challenges carriers faced finding loads to move. Today, Truckstop.com is one of the most recognized and trusted brands in the transportation technology industry and the largest SaaS freight matching marketplace in North America, connecting tens of thousands of carriers and brokers with technology solutions for the entire freight management lifecycle.
Truckstop.com will leverage ICONIQ Capital's resources and expertise to expand the company's portfolio of technology solutions, geared toward improving efficiencies for carriers and brokers. This investment follows several years of strong company growth during which Truckstop.com expanded its executive leadership team, added tens of thousands of customers, created hundreds of new jobs, invested heavily in product development and infrastructure build-out, completed multiple acquisitions while maintaining a strong culture, and formed extensive partner integrations.
"The $1 trillion freight industry is primed for incredible growth and technology adoption in the coming years, as tech-enabled platforms are increasingly essential for managing operations, reducing costs and improving efficiency," said Will Griffith, Partner at ICONIQ Capital. "Truckstop.com is the premier and trusted partner in this space, with an advanced technology platform that removes friction for all parties within the freight ecosystem, and an established network of transportation professionals across the country."
"What we found in ICONIQ is a partner with a deep passion for product excellence and innovation, as well as an exceptional cultural fit. They believe in our roadmap and join us in our mission to simplify the freight lifecycle for carriers and brokers. We are excited for our next chapter of growth and look forward to the guidance, support and knowledge ICONIQ, and their impressive network, brings to Truckstop.com," said Paris Cole, CEO of Truckstop.com.
"We are thrilled to work with Paris and the entire Truckstop.com team to support the company's growth and operational objectives, both organically and through acquisitions," said Arvindh Kumar, General Partner at ICONIQ Capital. "We look forward to providing Truckstop.com with our deep technology experience and resources to help accelerate the company's best-in-class innovation, time to value and customer experience."
"Our journey with Truckstop.com is a case study in what we aspire to achieve with every investment," said Phil Yates, Founding Partner of Bregal Sagemount. "We developed a true partnership and deep trust with the Truckstop.com executive team. Together we've made a positive difference in an industry that is rapidly transforming. We are extremely proud of the Truckstop.com team and excited for ICONIQ Capital, a world-class partner, to help take the company and its customers to the next level of market leadership."
Today, Truckstop.com solutions include freight matching; marketplace rates; partner vetting tools; credit and insurance insights; transactional cargo insurance; freight tracking and visibility; transportation management systems (TMS); integrations with most major industry software partners; and complete payment solutions.
DC Advisory, led by Dave Dolan, advised Truckstop.com. Goodwin Procter LLP served as legal advisor to ICONIQ Capital.
About Truckstop.com
Truckstop.com is the internet's first and most trusted load board and the nation's largest provider of spot market freight matching solutions. From load matching and freight planning, to real-time rate analysis, negotiation tools, and innovative payment solutions, Truckstop.com creates technology to help carriers and brokers run their businesses more effectively. Whether on the road or in the office, Truckstop.com offers products and solutions for the entire freight management lifecycle. Learn more about how Truckstop.com is shaping the future of transportation at www.truckstop.com.
About ICONIQ Capital
ICONIQ Capital is a privately-held financial advisory and investment firm, and the partner of choice for exceptional entrepreneurs, leaders and institutions around the world. The firm invests in best in class technology growth equity, middle market buyout and real estate companies and employs a distinctive ecosystem to build enduring businesses. ICONIQ is a trusted advisor fostering meaningful strategic relationships across industries to source powerful ideas, magnify global impact and support a new generation of entrepreneurs and companies.
About Bregal Sagemount
Bregal Sagemount is a growth-focused private capital firm with over $1.7 billion in committed capital. Founded in 2012, the firm provides flexible capital and strategic assistance to market-leading companies in high-growth sectors across a wide variety of transaction situations. Bregal Sagemount invests up to $150 million per transaction into both control and non-control positions and will make equity and/or debt investments. Targeted sectors include software, logistics technology, digital infrastructure, healthcare IT services, business and consumer services, and financial technology/specialty finance. For more information, please visit www.sagemount.com.
Matt Stubbs
Truckstop.com
mattstubbs@truckstop.com
Leah Polito / Michelle Van Wyk
Sard Verbinnen / ICONIQ


text:
Pat Ramage*
Ramage*
First Canadian woman to be elected into one of the FIS' committees and first Canadian woman to be a part of the Olympics' jury (1964). Volunteer for more than 40 years.
Pat Ramage worked tirelessly on the development of all snow sports for almost 50 years. She was particularly associated with alpine racing and biathlon. She worked more than 40 years as volunteer with the Canadian Ski Association, Biathlon Canada, the FIS, the Canadian Olympic Association and the Canadian Modern Pentathlon Association. She was a woman of "firsts" : First ever Canadian to be elected to a FIS committee, first Canadian jury member at Olympic Games event (Innsbruck, 1964) first honorary member of the Canadian Ski Association and organizer of the first Canadian biathlon team to participate in World Championships in 1978.


Belarus participates in the first regular session of the Executive Board of the United Nations Children's Fund (UNICEF) which takes place at the UN Headquarters in New York on February 5-7, this year.
In his statement (in Russian) on the first day of the session, Permanent Representative of Belarus to the UN Valentin Rybakov welcomed UNICEF's efforts in repositioning the UN development system. In particular, the Head of the Belarusian Mission noted Fund's leadership in the issues of private partnership and data on SDGs at the country level.
In the context of preparations for the 30th anniversary of the Convention on the Rights of the Child, V. Rybakov informed about an international conference on children and SDGs that is planned to be held in Minsk this year.
The Ambassador of Belarus commended the work of the Fund's country office and the level of interaction with UNICEF in general. V. Rybakov also expressed appreciation for the constructive cooperation with Dr. Rashed Mustafa Sarvar, UNICEF Representative in the country, Ambassador of the II European Games, which will be held in Minsk on June 21-30 this year.
The Head of the Belarusian Diplomatic Mission in New York stressed that Belarus considered sport as one of the effective ways of social inclusion which allowed to ensure full inclusion of children with disabilities in the society.
V. Rybakov invited session's participants to visit Minsk and to join the most important sport event of this year.


text:
Q: Можно ли HTTPWebRequest ускорить подключение к HTTPS, подключается 22 секунды, потом 300 мс?
*

*Если делать без потока, то HTTPS закешируется к 300 мс. Если делать в потоке, то HTTPS закешируется только к 6 секундам, вместо 300 мс.
Объект WebClient, не лучше, и там вообще ожидание 43 секунды.

*Предположительно у провайдеров не брежно заблокированы IP адресы (Россия), или TCP DOS атака задерживает, и HTTPS не может связаться с одним из серверов вообще, или быстро. На Windows 7 будет 22 секунды, на Windows 10 будет 4 секунды (в обеих случаях это долго) .Может на Windows 10 алгоритм другой и не дождиается конца соединение, нрачинает параллельно второе-третье.

*Возможно ли посмотреть логи причины такой задержки, и с чем пытается долго связаться?

*Проблема эта заметная в браузере Google Chrome, Internet Explorer лишь иногда. Там соединние 4 секунды. Больше всего Google Chrome подобную проблему появлял при ситуации с ISRG Root происшествии (даже если тот установлен), возможно одновременно один из обслуивающих серверов пропал. И тоже на Linux и Windows 10, соединение шло быстрее. В то время на всех VM с Win7 в сравнеии с VM Win10 соединение шло было как 22 секунды и 3 секунды.

*Поможет ли на сеокетах писать новый HTTPS клиент, (должно наверняка бють видно причины)?
*) 1) VS2008

redpajama_set_name: RedPajamaStackExchange


From almost the first paragraph I felt this book, I knew that I wasn't just going to read this, it would be something to experience. It didn't have to shout it intensity from the rooftops, no, nothing so vulgar, this beautiful read was more surreptitious than that, it seeped its way from the page, travelling straight to my soul.
The author didn't leave anything to chance and she didn't leave the reader hanging about either, from early doors, the main characters were laid bare and I think that made them all the better for it.
Their faults and secrets were there for me to digest and adapt too. Neither of them was particularly well acquainted with the truth, their pasts ensuring that they wore a cloak of lies around their lives like a barricade. But walls built to keep the world at bay can be demolished just as quickly as they are erected, when the right person is the one kicking away at the foundations…the question was whether Will and Maggie were the ones to let it all come tumbling into place?
I liked both Will and Maggie, they were complicated characters, the author gave the personality and from them both that shone off the page…good and bad, believe me there are some things about them both that will have you reaching for the vodka, they frustrated me at times!
With a pace that was easy to enjoy, this was more than I had anticipated and left me scratching my head and counting the day until the next part of the duet is release.
There is a lot more to come from this pair and knowing just how good they have been so far, I cannot wait to get stuck into the remainder of their journey.


Wisconsin Senate District 21 primary candidates speak up on key issues.
In the Aug. 14 primary, 21st state Senate District, incumbent Sen. Van Wanggaard (R-Racine) is challenged by Bristol resident Lori Hawkins, the lone Democrat seeking the office. The 21st District covers most of Racine County and a large part of Kenosha County. It includes the emerging Foxconn Technology Group development campus.
While both are assured a spot on the ballot in November, the Aug. 14 primary provides the candidates a chance to work out their rhetorical muscles by answering questions that will no doubt arise in the months ahead.
Racine County Eye asked both candidates about Foxconn, education funding, environmental concerns, and rail transportation. Here are their responses.
How long have you lived in the district? My husband Rob and I moved to Kenosha County 12 years ago.
Political involvement: Like many people, I stepped up my political involvement following the 2016 election. I have served on the Board of Forward Kenosha and Congregations United to Serve Humanity. In 2017, I was also fortunate enough to travel to Washington D.C. to meet with my representatives and advocate for access to affordable healthcare.
How long have you lived in the district? Most of my life, and all my adult life.
Political involvement: County Board 2002-2011, State Senate 2011-12, 2015-present.
Should the state of Wisconsin and its agencies assert more control of the Foxconn Technology Group project? Please explain the rationale behind your answer.
Hawkins: I think it is crucial for our leaders to be active watchdogs and not just rubber stamps regarding the Foxconn project. This deal has the potential to bring hundreds of jobs to our community, but it is also important to note that this is a company with a history of backing out of deals like these. We expect our leaders to do their due diligence when making decisions, and whereas it usually takes many months for the Wisconsin State Legislature to address issues with a large fiscal impact, it only took a month for legislators to sign over billions of taxpayer dollars and enormous regulation carve-outs for this company. I pledge to monitor Foxconn and make sure they are being a good neighbor to all of us in southeast Wisconsin.
Wanggaard: I am unsure of what you mean by having the state "assert more control." Foxconn is a private company, and employees are Foxconn employees, not government employees. The state should ensure that the contract requirements between itself and Foxconn are met. The agreement between the state and Foxconn is a pay-as-you-grow agreement. Therefore, we need to monitor that Foxconn is living up to its end of the agreement. I believe they will. The state must ensure that it verifies that number of jobs created, and that the average salary is $53,000 per year. Those numbers are the critical benchmarks of the deal. Beyond that, the state must ensure that Foxconn is complying with all environmental regulations, including the 2-to-1 wetland mitigation and the return of clean water to Lake Michigan. Foxconn is aware that there is tremendous scrutiny, and that it will be monitored closely, both by state government and the public at large.
What grade would you give the state on preparing a workforce for the future? Why?
Hawkins: Our state has failed to fully prepare our workforce for the future as technology continues to advance and our employment needs continue to evolve. This is largely due to the fact that our leaders have abdicated their responsibility to create paths for young people following high school. Our state should be investing in technical colleges, high school STEM programs, and apprenticeships to meet the demands of 21st-century jobs. Foxconn will potentially bring hundreds of technology jobs to southeast Wisconsin. However, Governor Walker would rather recruit workers from Illinois to fill those jobs than invest in workforce development here in Wisconsin.
Wanggaard: I would give us a B, but I would also caution that there is room for improvement. Wisconsin workers are in a good situation right now. Unemployment is at or near historic lows. More people are working than ever before. These are good things, but there is more work to do.
For too long, there was too much emphasis on 4-year university degrees in liberal arts, and not on agricultural, job-based or technical education. This left Wisconsin critically short in those areas. Thankfully, we have begun to see more focus on future careers in high schools which can prepare students to enter the workforce prepared at an earlier age, and steering students towards education and training for those careers. I am encouraged that we are already seeing changes related to training for the Foxconn workforce. I was instrumental in obtaining $5 million for a Gateway Technical College expansion to help with the advanced robotics training needed for Foxconn. Gateway and other schools, including UW-Parkside, Marquette, MSOE and the rest of the UW are working with Foxconn to ensure that they are providing the skills and workers that Foxconn needs. But the biggest concern I hear from employers is not that the kids aren't getting the training or education they need. It's that the soft skills are missing. Workers who can't pass a drug test, or who don't show up to work on time, or not at all. Fixing that will solve a lot of the workforce shortage issue.
True or false: The State of Wisconsin is doing a good job funding education needs? Why?
Hawkins: False. While my opponent likes to point to the latest increase in education funding in the 2018-19 state budget, the reality is far different. Since 2010, our state has seen a reduction of 9 percent in total education funding. With schools facing this large divestment, it has become harder for districts to perform necessary maintenance on buildings or maintain crucial teaching positions. As a result, communities and their taxpaying citizens have shouldered more of the financial burden to fund our schools. In 2016 alone, voters approved $1.35 billion for school funding through local referendums to make up for budget cuts. The facts are clear that local school districts are barely scraping by, and that we need to seriously re-invest in public education.
Wanggaard: True. Wisconsin is investing a record $13.6 billion into K-12 education more money than ever before. In this last budget alone, the state put an additional $800 million into the classroom. Starting in September, every school will have over $600 more per student to spend than they did in 2016. That is in addition to the $400 increase in spending per student in the 2015-17 budget. The claim that we are cutting K-12 education is false. In addition, we are also ensuring that parents can choose the best learning environment for their child. Whether it is open enrollment, which many families use to choose a different public school, or school choice, which low-income families can use to choose a private school, we are making sure every child can learn in the most appropriate environment. We're also seeing performance-model funding for our technical colleges. The job of the tech schools (is) to create career-ready graduates. Those that do a better job of that receive more funding. To make tech schools more accessible, we have frozen tuition for the last six years, and also encouraged more K-12/Tech College partnership programs. Finally, after years of skyrocketing tuition and a billion-dollar slush fund at the UW System, we have frozen tuition at UW for the last six years as well. At the same time, we have funded innovative new programs at UW, as well as their building and infrastructure needs, especially at UW-Parkside.
Do you consider the loss of reasonably priced health insurance coverage for many more citizens a crisis in Wisconsin?
Hawkins: The skyrocketing costs of healthcare are absolutely causing a crisis among Wisconsin's residents. When Governor Walker refused to expand BadgerCare, the cost Wisconsin taxpayers over $1 billion. Between this and the repeated Republican attempts to repeal the Affordable Care Act, we have seen many insurance providers leave our state out of uncertainty. Instead of limiting access to affordable health care, we should be working to expand it. Community health clinics must remain open, especially in our rural areas where the availability of healthcare options tend to be limited. Lowering prescription drug costs for seniors and adopting more natural medicinal practices are other ways to support healthier communities. Healthcare access is a right, not a privilege. Healthy communities can only exist if we treat access to health care as such.
Wanggaard: I don't know if it's a crisis, but it's definitely a problem. The promised benefits of Obamacare haven't come true. Healthcare costs across the country, not just in Wisconsin, have skyrocketed. That's the opposite of what was promised. We were told healthcare costs would decrease under Obamacare, instead, they've increased.
That is why I supported the Wisconsin Healthcare Stability Plan (WIHSP). Under the WIHSP, we have established a $200 million fund to smooth increases for both citizens and health care providers. This is largely accomplished through a reinsurance plan. In addition to stabilizing or reducing health care premium costs to consumers, the WIHSP also attempts to increase the number of health care providers participating in the individual marketplace, and access to those providers. For example, the health care coverage of people in the 21st District isn't improved by adding more providers in Madison. We need more options here, and those options have to be affordable. Prior to Obamacare, Wisconsin had one the best health care coverage ratios in the country. Under Republican leadership, we've take steps to ensure that remains the case. Everyone below 200% of poverty has access to government assistance for health care. If an individual or family is below the poverty line, they are eligible for Badgercare. Between 100-200% of poverty, an individual has access to Obamacare subsidies to pay for their insurance. I believe Wisconsin is the only state that offers coverage to this many people.
Are environmental protections taking a back seat to business growth?
Hawkins: You don't need to look much further than the last legislative session to find an answer to this. Republican leaders repealed a number of key laws that protect our precious water resources, and I am incredibly worried about the long-term impact these changes will have on our state. For example, it's been just over a year since the devastating flooding in Burlington. This disaster affected thousands of people and cost the community a lot of time and money. Without protections for our wetlands, we would see an increase in tragic flooding like we saw in Burlington. Protecting our environment isn't just the right thing to do, but it also helps protect the economic interests of our citizens and businesses. I do not believe that the choice between protecting our resources and supporting progress and development needs to be an either/or decision, and we need to elect people who see the importance of both.
Wanggaard: Of course not. As our state continues to grow, we need to maintain a balance between environmental protection and growth – both population and economy. For years, Wisconsin's environmental laws and the threat of environmental lawsuits served as an effective deterrent to economic growth. This is especially true in the northern part of Wisconsin. What we've seen recently is a return to a more even balance between environmental protection and growth.
There is a lot of hyperbole out there about the environmental changes that have been made. They claim we've gutted this or destroyed that. It's just not true. With the mining bills, we haven't changed any environmental runoff or pollution laws, we've changed the paperwork. With high capacity wells, we aren't plunging wells every hundred yards, we're allowing existing wells to be repaired, replaced or moved. With wetlands, we still require mitigation, and in the case of Foxconn, we require more mitigation than we do usually – a ratio (of) 2-to-1. One of the bills I was working on at the end of session last year would actually allow more wetlands to be built. Our current system of mitigation credits and banks is difficult to use and release those credits. As a result, companies are paying to create wetlands, but no wetlands are being created. We need to streamline that process so that we are truly mitigating wetlands and protecting our environment. My bill would require wetlands be created in the same area. I plan on reintroducing that bill next year.
Has the state abandoned rail as a human transportation solution? Please explain your answer.
Hawkins: I was among the many people who were gravely disappointed in Governor Walker's abandonment of the high-speed rail plan following his election in 2010. The rail would have connected Chicago, Milwaukee, and Madison, with plans to eventually connect to the Twin Cities. In southeast Wisconsin, we are very fortunate to have access to the Amtrak Hiawatha which runs from Milwaukee to Chicago. However, Wisconsin would greatly benefit from a rail system that would connect more corners of our state together. Communities across Wisconsin would see increases in tourism, and our citizens would have access to cheaper, more efficient travel options. I still believe that Wisconsin could embrace a high-speed rail, but I doubt that it will happen under our current leadership.
Wanggaard: No, but the market and future technology are also telling us not to focus on rail. With autonomous vehicles and ridesharing services, like Uber and Lyft, we are seeing consumers want more flexibility in transportation, not less. By definition rail is inflexible. Rail runs on fixed routes, to fixed locations, at set times. It is the exact opposite of where the future is going. While the Hiawatha train is one of the busiest trains in the country, it also operates at a loss. The state continues to subsidize the Hiawatha, so that it can be a viable transportation option, and not prohibitively expensive.
We have a pressing problem in our transportation fund. Our roads are in need to repair, rehabilitation and expansion. This is as true in southeastern Wisconsin as in the rest of the state. Increasing gas mileage, electric vehicles have slowed the growth in the transportation fund to a point where it is unable to keep up with maintenance needs. That is why I am open to all options when it comes to funding our transportation system. It makes no sense – logical or fiscal – for the state to invest in a new rail system when it is struggling to maintain its existing transportation infrastructure. Like I said earlier, even one of the most popular rail routes in the country operates at a loss. We cannot afford to invest hundreds of millions in a transportation system that history and future trends are telling us is the wrong way to go.


Shinedown is an American hard rock band from Jacksonville, Florida, formed in 2001 and founded by members Brent Smith (vocals), Brad Stewart (bass), Jasin Todd (guitar), and Barry Kerch (drums). A few lineup changes followed, and the band's current lineup consists of Smith and Kerch, the band's only two remaining original members, with guitarist Zach Myers, and bassist/pianist Eric Bass. Since Shinedown's inception, they have released four albums: Leave a Whisper (2003), Us and Them (2005), The Sound of Madness (2008), and Amaryllis (2012), and a total of 17 singles. They have sold more than 6 million albums worldwide.Klik hier voor meer informatie.


March was all about focusing on sleep for me. (See my other monthly goals here.) For YEARS I have been a night owl. Like, 2am would roll around and I would be surprised how late it was. My body just doesn't give me the sleepy cues it should to force my buns into bed. The only problem is that I have an early alarm clock and kids that need a functional mama every morning. Now, I might be "functional" after 4 hours of sleep but I am certainly not very nice about it. I realized a couple of years ago that "functional" wasn't going to cut it anymore and that I wanted to be more pleasant and less grumpy. So, I started changing my sleep habits. I'm still not perfect about it and now I only stay up until 2am if I have deadlines!
I wanted to spend a month focusing on my sleep just to remind myself of how important it is and keep myself on the right sleep track.
Here are some tips for getting better sleep if you tend to stay up late then regret the next morning!
1. Stop looking at tv, phone, laptop, computer, etc. about 30 minutes before you plan to go to sleep. The light messes with your brain and tells your body to stay awake.
2. Go to bed a little earlier each night. If you are staying up until 2am, like I was, it will be a huge adjustment to suddenly hit the hay at 10pm.
3. Don't nap. For me, a nap always messes up my sleep schedule. If I accidentally crash on the couch on a Sunday afternoon, there is NO WAY I will be able to fall asleep before midnight. I try to avoid naps, at all costs!
4. Do something relaxing. If you are used to watching tv until bedtime, try taking a lavender bath instead. You can also try meditating, stretching, or listening to calm music.
5. Stop eating. Give your body a break from digesting. Try to stop eating several hours before bed. Brush your teeth to help keep you from midnight snacking.
6. Dim the lights. Lights tell your body it's time to be awake. Start dimming your lights closer to bedtime to naturally tell your bod its time for some snoozing.
7. Fake it till you make it. A lot of times I don't feel tired but I just make myself go to bed. Some nights it takes me forever to fall asleep but I know that at least my body is still getting rest and that I'm still in the process of teaching myself better sleep habits.
For me, more sleep means I am much nicer, no bags under my eyes, more energy, and mental clarity.
Check out my focus for April and follow along on Instagram! Do you have any more tips for getting better sleep?
This entry was posted in Goals, Health and tagged Sleep on April 16, 2015 by britonalo.
I always have a hard time sleeping. This habits could really help give me a better time sleeping.
I wake up 5 days a week at 5am to get to work by 6, and I can never seem to get to bed before 11pm the night before. I have a terrible habit of getting on my phone as I crawl in bed, after I log off my computer. It makes getting up so much harder!!
these are some great tips for sleep!!! As tired as I get during the day, I never nap because I will never fall asleep at night!
These are awesome tips. We've definitely learned to cut out screen time before bed. I use to read books on my tablet before bed, but even the light from that kept me up longer.
You're soo right about using lavender baths before bedtime. They help me sleep like a baby. They have the same effect on my kids.
These are great tips! Thank you for all the help!
I have a hard time falling asleep. My mind is always racing of what to do for the next day. This is great advice. Thanks!
These are great tips for better sleep. It is important to get the right amount of sleep a night to be able to stay health and to function normally. I usually lay down and cuddle with my dogs to wined down. Thanks for sharing.
Great tips! I started leaving my phone downstairs when going to bed. It really helps! Also, I just got a memory foam pillow. Best thing EVER!
I have to give up my naps?! Now that will be an adjustment. lol Great tips! I always try to shut down all electronics at least an hour before I plan to go to sleep so my body can prepare itself for sleep.
These are great tips! Like you I am a night owl! I am trying really hard to get back to on a normal schedule and get more sleep! I have to learn to turn everything off and just go to bed. I think that turning off my devices 30 mins before bed might help!
I am horrible about electronics right before bed. These are great tips I am typically a night owl as well.
I need to follow every single one of these steps. Thanks for sharing these great tips.
Great tips! I usually also tell my patients not to have any tv or electronics in the bedroom – only sleep in the bed. Otherwise, your body gets confused when it is bedtime. And watch how much caffeine intake you have and how late in the day you are consuming it.
Sleep is so important! You are right, as a mom you can definitely function, but I am not always nice about it when I am still tired!
These are all so true. For me, I cannot take naps during the day, if I do, then I'm up until 2am, wide awake! Also, it doesn't help if I eat dinner on the late side either!
great tips. I always have such a hard time sleeping when I've taken a nap but sometimes i need one!
After having two kids back to back my sleep schedule (and inability to sleep) was all out of whack! My naturopath recommended a natural melatonin…it worked like a charm!!
What good tips and wish I could get better sleep lately! Thanks for sharing as I might one or two!
i always have trouble sleeping.. and i know it's because i bring my phone to bed with me. it's so bad, but so hard to stop checking things.
Great tips! I'm like you — it will be 2 am before I realize it and then I don't get enough sleep for the next day. It's a bad cycle to get in to and an even harder one to break.


In a story horribly reminiscent of the untimely end of Marc-Vivien Foe only a few short years ago, it has now ben confirmed that Antonio Puerta, the 22 year old rising star of Spanish football, has died following the heart attack or sequence of attacks he suffered playing for Seville over the weekend.
It is always shocking when a story like this breaks. With medical personnel being so skilled and highly trained these days, obvious physical deficiences are spotted at an early age. Training is so regulated that a sportsman's body is kept in peak condition.
And yet a man so young can still suffer such a sudden tragedy, despite being so careful with diet, drink, and fitness, and with all the care of the best people he could hope to have around him.
It is strange to think that less than a week ago, Arsenal Pies was suggesting Puerta as a signing for the club, such was his talent. It is inconceivable that this has happened.
Descanse En Paz, Antonio Puerta.


We insist within the theory of development of 'High top quality, Performance, Sincerity and Down-to-earth working approach' to provide you with exceptional provider of processing for Flat Floor Mop , Household Floor Mop , Cleaning Mop , We wholeheartedly welcome buyers all over the globe arrive to visit our manufacturing facility and have a win-win cooperation with us!
"Dedicated to strict quality management and thoughtful client services, our experienced staff customers are generally available to discuss your demands and guarantee full client pleasure for Flat Floor Mop , Household Floor Mop , Cleaning Mop , We set "be a creditable practitioner to achieve the continuous development and innovation" as our motto. We would like to share our experience with friends at home and abroad as a way to create a bigger cake with our joint efforts. We have several experienced R & D persons and we welcome OEM orders.


Ramsey picked up the injury during Arsenal's loss to Watford.
Arsene Wenger has confirmed that Aaron Ramsey will miss the first leg of Arsenal's Champions League tie against Bayern Munich on 15 February after suffering a calf strain in his side's 2-1 defeat by Watford. The Welshman had to be substituted early in the first half against Walter Mazzarri's men and his injury leaves Arsenal's central midfield options incredibly threadbare ahead of their visit to Chelsea on Saturday.
Wenger says Ramsey will be out for approximately 21 days – he could return for the Gunners' FA Cup fifth-round clash against Sutton United on 20 February – but was positive about Olivier Giroud and Alex Oxlade-Chamberlain's chances of facing the league leaders. The Arsenal boss revealed that the pair are having tests on the knocks they suffered against Watford in midweek but is confident of having the attackers at his disposal against Chelsea.
He also hinted at a recall for Danny Welbeck, who scored twice against Southampton in the FA Cup fourth round last weekend but was left out of the squad that lost to Watford as the club continue to manage his recovery from a long-term knee injury.
"We lost Ramsey and Giroud has a test but he should be alright," Wenger said in his pre-match press conference. "Welbeck may come back into the group and that is it. Chamberlain has a test today but I think he'll be alright. Ramsey will be out for 21 days."
With Ramsey and Santi Cazorla injured, Granit Xhaka suspended and Mohamed Elneny away at the Africa Cup of Nations, Frances Coquelin is the only recognised first-team central midfielder currently available to Wenger. The Frenchman attempted to play down the issue surrounding his engine room and believes young starlets like Jeff Reine-Adelaide and Ainsley Maitland-Niles can take the step up.
"We are a bit short [in midfield] at the moment but we have young players who can do well," Wenger added. "We have Adelaide, Maitland Niles, Oxlade-Chamberlain, Iwobi can play there and Elneny will come back after Sunday."
Manchester United boss Jose Mourinho blasts referees once again: Does he have a point?
Who will Arsene Wenger turn to solve Arsenal midfield crisis against Chelsea?


text:
Canada's COVID-19 Vaccine Rollout Is a Mess
About two-thirds of the country's vaccine supply was still in storage as of Wednesday, and experts say politicians are offering too few details about next steps.
by Anya Zoledziowski
Toronto, CA
January 7, 2021, 8:59pm
Prime Minister Justin Trudeau has said he's frustrated with the slow vaccine rollout in Canada, while premiers, including Ontario Premier Doug Ford, say they need more doses. Photos by David Kawai/Bloomberg via Getty Images (left) and Steve Russell/Toronto Star via Getty Images (right)
Nearly a month after the Pfizer-BioNtech vaccine was approved, health experts say many Canadians won't be vaccinated this year against COVID-19 if the country doesn't rapidly fix its vaccination rollout.
Canada has received more than 424,050 doses of the Pfizer and Moderna vaccines so far, but as of Wednesday, only about 35 percent of them had been administered, CBC reported.
Trudeau 'Frustrated' With Vaccine Rollout, Alberta Denies Doses Going to Waste
Brishti Basu
"Canadians, including me, are frustrated to see vaccines in freezers and not in people's arms," Prime Minister Justin Trudeau said Tuesday.
Premiers, whose health ministries are responsible for administering the doses, blamed a small and inconsistent supply of vaccines from the federal government.
"The federal government's process of getting vaccines to Canada means instead of a firehose, we're working with a bit of a squirt gun right now," Manitoba Premier Brian Pallister told reporters on Wednesday.
Trudeau's government is in charge of acquiring vaccines and delivering them to provinces and territories, while regional governments—with the help of experts—actually administer them. Trudeau has said Indigenous communities, healthcare workers, and the elderly have priority access because they're the most susceptible to severe COVID-19 outcomes.
A conference call between Trudeau and provincial leaders is scheduled for Thursday to address the beleaguered vaccine rollout.
Experts and officials have listed multiple issues with Canada's vaccine rollout, including low supply, slow pace, and too little communication from government officials—most Canadians don't know how two-dose vaccines will be spaced out, where to get vaccinated, and when they'll get the vaccine, despite Trudeau's promises to successfully immunize all willing adults over the next nine months. At the same time, Canada has purchased more vaccines per capita—8.9 doses per person—than any other country, facing criticism for hoarding doses that could otherwise be delivered to people in poorer nations.
Inoculation too slow, confusing
"There's no excuse to have vaccines in freezers," Dr. Jeff Kwong, a University of Toronto epidemiologist, told VICE World News. The longer it takes to ramp up vaccination campaigns, the more people will die, he said.
Faster inoculation will also help ease the strain on health care systems, Kwong said, but that window is rapidly closing as Ontario's hospitals can't take on much more. One hospital in southwestern Ontario is now storing bodies in a trailer unit as COVID-19 cases surge, and an additional 500 or 600 intensive care hospitalizations would disrupt the entire hospital system.
Kwong said he's heard very little about vaccine rollout, apart from who the priority groups are.
"In fairness the whole approvals process did happen quite quickly and there's uncertainty about logistics—where will it be stored, for example—but I think some plans could have been made earlier on," Kwong said. The Pfizer vaccine needs to be stored at -70 C, which means only the Moderna vaccine, which is stored more readily, can be transported widely.
Another issue revolves around when to administer the second dose: provinces can opt to administer the first dose to as many people as possible, with the risk of delaying the second dose if stocks run out—an idea Quebec and Manitoba are for—or they can administer half of all doses in a given shipment and save the remaining half until they can be administered to the same people two to three weeks later.
Multiple experts told VICE World News that delaying the second vaccine could be a gamble because there isn't enough data yet to determine if one dose adequately protects people long-term. The U.K. has decided to extend the time between the two doses, even though the World Health Organization has publicly warned against it.
Officials needs to be upfront
According to University of Alberta infectious disease expert Dr. Lynora Saxinger, the lack of communication is the biggest problem right now; governments need to be more transparent by outlining comprehensive vaccine rollout plans in full detail, sharing how many people have been vaccinated already, how many doses are waiting in storage, and what the targets are in the coming months, Saxinger said.
Remote Indigenous Communities in Canada Are Getting Priority Vaccine Shipments
Anya Zoledziowski
"People want to be assured that right things are in place," Saxinger said.
If weeks go by and stocks continue to sit in the freezer, then Saxinger said provinces and territories need to look at expanding rollouts "by any means necessary," including by recruiting undergraduate nurses, pharmacists, and family doctors who have volunteered to inoculate people.
According to Saxinger, mass vaccination campaigns will improve rapidly across Canada as more vaccines trickle in and provinces iron out their strategies. As a result, she said she's optimistic going forward and thinks it's too early to tell whether the rollout will be botched.
"It takes time to set things up thoughtfully," Saxinger said. "I don't think it's a failure yet."
World estimates show Canada is lagging behind the U.S., Russia, Germany, and Israel (despite praise for its rapid campaign, Israel has been criticized for refusing to vaccinate Palestinians living under occupation). Israel, for instance, has vaccinated more than 14 percent of its population, compared to 0.4 percent of Canadians. Saxinger said the comparison isn't totally fair because Israel's population is more compact and its health care system is more centralized. In Canada, multiple public health authorities need to coordinate their plans and vaccines need to travel long distances to reach everyone. France, a country more similar to Canada, is performing worse, she said.
Canada's deadly second wave is ongoing
The race to get people vaccinated coincides with Canada's ongoing second pandemic wave.
As of Thursday afternoon, the country had 626,799 confirmed COVID-19 cases and 16,369 deaths.
Ontario has been one of the slowest provinces to administer vaccines and continues to report record-breaking rates of daily COVID-19 cases: on Thursday, Ontario announced a record 3,519 new cases and 89 more deaths—the deadliest day yet.
More than 70 percent of Ontario's vaccine doses were sitting idly in freezers earlier this week, and doctors have repeatedly urged the province to pick up the pace.
Ontario's Ministry of Health did not respond to a request for comment about the delays.
Alberta and British Columbia have vaccinated the largest proportion of their populations so far, 0.68 percent and 0.64 percent, respectively, according to a CTV News vaccine tracker.
Alberta Health Minister Tyler Shandro promised 29,000 vaccine doses would be administered to front-line health care workers and long-term care residents by the end of 2020, but the province didn't reach its goal, with only 20 percent of the promised vaccinations administered by December 30. But as of Thursday, Alberta had administered more than 50 percent of the doses it had received so far.
Quebec public health recorded its most successful day of vaccinations on Wednesday after it administered nearly 10,000 doses—that's compared to a little more than 6,000 on Tuesday and 2,529 on Monday.
Nunavut has also started vaccination of elders in Iqaluit on Wednesday and plans to have 75 percent of adults vaccinated by the end of March. Meanwhile, in B.C., multiple First Nations have started to receive the Moderna vaccine, with those in Ontario gearing up to start vaccinating elders this week.
Follow Anya Zoledziowski on Twitter.
Tagged:Justin TrudeauCanadian Newsdoug fordpandemicCOVID-19worldnewsworld coronaviruscoronavirus vaccinesCOVID-19 vaccine


text:
Q: Open specific jupyter notebook from terminal Is it possible to open a specific Jupiter notebook from terminal.
The file -> open -> search for it is time consuming

A: This may depend how what operating system you are using (or environment such as anaconda), but in general I think this should work:
jupyter notebook notebook.ipynb

...where notebook.ipynb is the notebook you want to open, see here.

A: Once the server is running, you can open using this url
http(s)://server:port//lab/tree/path/to/notebook.ipynb
https://jupyterlab.readthedocs.io/en/stable/user/urls.html#url-combine