text:
Purposes of the IAPA Scholarships Program
The Inter American Press Association was established in 1942 to defend and promote the right of the peoples of the Americas to be freely informed through an independent press, essential for which is a journalism that is responsible, objective and open to all currents, so as thus to contribute to a better understanding among the peoples of the Western Hemisphere.
In 1954 the IAPA established its Scholarship Fund for young American or Canadian journalists for an academic year's study in some Latin American or Caribbean country, and for young Latin American and Caribbean journalists to take courses in journalism at some recognized university in the United States or Canada during one academic year.
The Aspirants
Applicants must be natives of countries in the Western Hemisphere, journalists or students in the final year of their journalism course, be between 21 and 35 years old, be fluent in the language of the country where they will go to study. Journalism students will have to complete their university studies before the start of the scholarship year.
Latin American applicants will have to undergo a TOEFL test (Test of English as a Foreign Language).
Winners will have to study for an academic year at any recognized journalism school in the Americas. The IAPA does not recommend any in particular.
The Scholarship Amount
The IAPA Scholarship Fund is supported exclusively by contributions from IAPA member publications and private foundations. The IAPA, zealous of its independence, does not accept donations from governments.
Scholarship winners from the United States and Canada will receive $20,000 for the academic year.
Scholarship winners from Latin America and the Caribbean will receive $20,000 for the academic year plus round-trip airfare, they having to return to their country of origin at the end of the one year of studies.
Payments will be made in regular installments by an authorized officer of the Scholarship Fund. Included in that total ($20,000) are all the items that the scholarship winner may require.
Those scholarship winners that study in the United States will have to declare their annual income to the Internal Revenue Service (IRS). In conformity with that, the IAPA will, or will not, retain the sum established by law.
Applications and their respective documents must be received before January 31st. The documents supporting and certifying the information in the application can also be sent by e-mail to becas@sipiapa.org or by mail to IAPA Scholarship Fund, 3511 NW 91 Avenue, Doral, Florida 33172
The applications should include all the information required on the respective form. It is also a requirement to send the documentation. If the information is not provided the application will not be considered.
The winners of the scholarships will be announced in April 2018 following the IAPA Midyear Meeting. All qualified participants will receive official notification from the IAPA of the result of the award of scholarships.
If you meet the mentioned requirements you can obtain the register form on this page, Application Online. Or request it at:
IAPA Scholarship Fund
becas@sipiapa.org
3511 SW 91 Avenue
The IAPA/SIP scholarships are exclusively for newspaper/online reporters or editors, under 35 years of age, who work in Latin America or the Caribbean, to do postgraduate studies in the United States or Canada. Fluency in English or French is mandatory. The scholarships are monetary. Scholars receive $20,000 and round-trip transportation; they are responsible for additional expenses. The program provides no allowance for spouses or children.
These are the steps that you would take to apply:
I. Learn more about our program at
http://www.sipiapa.com/v4/index.php?page=area_becas&idioma=sp
II. Fill out the application form and send us ALL supporting documents by regular or e-mail
by January 31, 2018.
The application package should include:
Scholarship application form.
Autobiography, around 200 words.
An essay in your native language about your study plans, 200 words or so.
Three letters of recommendation, which can be in any language. Ask the people who recommend you to give you the letters in sealed envelopes, and as such you should include them in the application package. If they prefer to e-mail the letters, they can do so to becas@sipiapa.org.
Your curriculum vitae.
Three clippings/printouts of your best published articles.
Copy of your TOEFL score. If you haven't taken the test, do so as soon as possible. Find information at www.toefl.org. In the absence of a TOEFL score, you must send along any other internationally recognized test score or the application's Certificate of Proficiency in English, which should be filled out by an English-language teacher. If English is your native language, ignore this requirement.
Copy of your university transcripts and diploma. There is no need to translate or notarize them. High school grades are not necessary.
III. Start the process of applying at an American or Canadian university of your choice. Your chances of winning a scholarship will be greater if you already have been accepted or if you are currently in the admissions process.
SCHOLARHIP APPLICATION
INTER AMERICAN PRESS ASSOCIATION
3511 NW 91 Avenue
Doral, Florida 33172 USA
Last name(s):
First name(s):
City, state, ZIP Code:
Telephone(s):
e-mail(s):
City and country of birth:
Country of current citizenship:
Emergency contact in home country: (name, address, telephone, e-mail, relationship):
Emergency contact in country of study: (name, address, telephone, e-mail, relationship):
List schools attended, starting with the most recent:
Name of school and location Degree/Major Dates
Honors, scholarships or fellowships awarded to you:
Additional schooling or activities relevant to your professional training:
List employment positions held, starting with the most recent:
Employer's name and address Your Position Dates
List special interests and hobbies:
List student or professional organizations in which you hold or have held membership:
List countries, other than your own, that you have visited or in which you have lived, including purpose and dates:
For Latin American applicants:
Your TOEFL score:
(or score of another English-language proficiency test):
Or, when will you take the TOEFL?:
In what university do you plan to study? (We do not guarantee that you will be assigned to the country or university of your choice.)
What are your plans after completing your year of study?
Describe in detail (about 200 words) your purpose in applying for this scholarship and your plans for study if awarded a scholarship. What do you hope to get out of your year of study? What types of courses do you wish to take? And (for U.S. and Canadian applicants only), what research project do you plan to undertake?
Write an autobiography (about 200 words) describing your experiences to date and indicating your plans for the future. This should be not a mere listing of facts but a carefully written essay. It should be written in the language of the country in which you hope to study.
Send transcripts of your university studies.
Have three letters of recommendation (in the preferred language of the letter writer) sent to
I certify that the information given in this application is complete and accurate to the best of my knowledge. I agree to comply with the necessary regulations and to return to my home country upon completion of my studies under this scholarship.
Signature of applicant and date.
Certificate of Language Proficiency
To be filled in by a professor of the language you will use in your study. Ratings should be made on the basis of the applicant's ability to profit by instruction in this language given in an institution of higher learning.
This should be sent to IAPA Scholarship Fund, Jules Dubois Building, 1801 SW Third Ave., Suite 800, Miami, FL 33129, USA, or to becas@sipiapa.org
CERTIFICATE OF PROFICIENCY IN (check one)
( ) English ( ) French ( ) Portuguese ( ) Spanish
This is to certify that________________________________________________________
has taken an examination of her/his knowledge of ___________________
conducted by me, with the following results:
Ability to understand the spoken language:
Excellent_____ Good_____ Fair_____ Poor_____
Ability to speak the language:
Ability to write the language:
Ability to comprehend the printed page in this language and to translate (name of book used):
Position or Title:
Signature and date:
EndFragment


Which one do you like for you or your loved ones special day ?? Bob likes the Teal Background, Eugenia likes the white Background.
Which ever you chose, the White background Birthday flag or the Teal One-- This flag makes a great day even better.
What gardener wants to be without bees in their garden? This one is a must.


This entry was posted on Monday, December 10th, 2012 at 11:52 pm and is filed under Airtime, New Songs, Ruby Calling, Uncategorized, Video . You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.


CHICAGO (WLS) -- Chicago's Shedd Aquarium is one of the best in the nation, according to TripAdvisor.
The world's largest travel site released this year's list of Travelers' Choice award-winning zoos and aquariums on Wednesday. TripAdvisor collected millions of reviews from travelers around the world to create the list.
The Shedd ranked No. 6 among the top 10 aquariums in the U.S. on TripAdvisor's list. Georgia Aquarium took the top spot.
TripAdvisor, the world's largest travel site, released this year's list of Travelers' Choice award-winning aquariums.
Rounding out the top 10 are Dallas World Aquarium in Dallas, Tx., Alaska SeaLife Center in Seward, Alaska, and Florida Keys Aquarium Encounters in Marathon, Fla.
Check out full lists of TripAdvisor's best zoos in the world and best aquariums in the world at www.tripadvisor.com.


Interloc Solutions and EAM Software today announced the availability of a solution which allows IBM Maximo Asset Management customers the ability to significantly improve their data management capabilities and processes.
EAM's Data Management Tool for Maximo streamlines and reduces Maximo operational and deployment costs. The solution simplifies data integration through the use of standard Microsoft Excel for importing and exporting and is fully integrated into the Maximo application and security framework.
Due to its alignment with Maximo, the solution is multi-language capable and readily supports system administrators with all data administration tasks. The tool is available for IBM Maximo and IBM Control Desk versions 7.1, 7.5, and 7.6.
Other features of the toolset include the ability to perform complex queries, including the ability to include attributes that are not visible in the UI. The tool also allows the use of templates and provides a robust template management system for data exportation and importation needs.
The EAM Data Management Tool has been available for over 10 years in Europe. 2 of the 3 largest automotive manufacturers in Germany rely on the Data Management Tool for their operational success. Additionally, more than 60% of all Maximo customers in Germany, Austria, and Switzerland utilize the toolset for their data administration tasks and have realized an average 40% reduction in system setup and rollout costs. With this partnership, the tool is now offered in the Americas through Interloc Solutions.
EAM is an IBM Gold Business Partner and provides highly-qualified consulting with their comprehensive expert knowledge and long-time experience in all sectors of Enterprise Asset Management. EAM optimizes business processes and implements integrated solutions based on IBM Maximo. The experience gained from numerous successful system implementations, and many years of system support in close partnership with customers, provided the basis for the innovative and mature Data Management Tool.
Interloc is an IBM Premier and Gold Accredited Business Partner that provides innovative consulting, managed services, and unique mobile solutions to make your business successful - from mobility to Cloud to smart devices. 100% dedicated to helping you realize the greatest potential from your Maximo investment, Interloc harnesses the strength of IBM Maximo with the power of its expertise and solutions to exceed your business needs.
Please contact us here for additional information!


Making An Income With Your Photography.
Photography and Text By Jaybee © All rights reserved.
A hobby that pays for itself doesn't have to be a dream. With a little thought you can breach the world of the professional and make an income from your images. If you can string a few words together then you double your chances. The world revolves around imagery and there are huge holes in there that the amateur photographer can fill. Many of these voids are there simply because the professional photographer either thinks it beneath them OR the returns are not worth the effort involved. BUT those gaps have to be filled and you're the person with the filler. I used to make a lot of money from photography many years ago doing things others didn't want to do or had never thought of doing.
I looked through various magazines on the news stands and picked out a couple I thought would be interested in submissions. One was a magazine called Popular Do It Yourself. After browsing the magazine for a few months I realized the type of article they used and the style of the writing and images.
My first submission to them was simplicity itself: Changing the washer in a leaking electric kettle. I used my own (not leaking) kettle for the images. First shot was the kettle standing in a pool of water. I then took shots (using the self timer) of the entire procedure of removing the washers and replacing them with new ones (cost me a few pence) These were close up shots of my hands removing the threaded cover, etc. Final shot was the kettle on a dry surface. I submitted this with a few hundred words of text explaining the procedure and a few months later it was used and I received a nice check.
Second submission was even easier - Making a double plug extension lead - same procedure and same result... check in the mail. I happened to talk to the editor at a later date and commented that I was surprised the articles had been used - especially as they covered such basic subjects. His reply was an eye opener. He said, "Remember a lot of people who read this magazine CAN'T do anything simple - they may be a widowed woman who has no one to do it for her, and often it's the simple things that they need help with."
Another magazine I submitted work to on a regular basis was called Art and Craft magazine - this was an educational magazine and being an art teacher (for 20 years) meant I had a bit of an advantage here. Every new art project I did with my class I photographed. Ostrich puppets from egg cartons springs to mind. Take photos - add a few words and submit. Check in the post several months later. Not only was the money nice but the knowledge fellow teachers around the country could then try this was an added bonus.
Came winter time and snowfall... my camera was always around my neck whenever I went out. Local newspapers love winter shots, especially when it involves vehicles that have collided on the ice. They love shots of children playing snowballs, ducks on a frozen pond etc. I've had everything from house fires to winning football team photos used on a weekly basis with local newspapers.
If you can find a national hobbyist paper covering something you enjoy, then your laughing. That's exactly what happened when I started to submit photos to a national weekly called Trials and Moto-X News. It started so small. I went to a local meeting for the first time and took a few shots of the riders. Went back the next week and gave away the shots I had taken to the riders involved. A few weeks later I submitted a couple of shots to trials and Moto-X News and they were used. For several months I did that - weekly local meetings - submit photo and have it used in the round up section of the paper. To cut a long story short - eventually the deputy editor rang me and asked if I would cover the entire North East for them on a weekly basis - photos and words. So I ended up doing just that (including 2 world championships each year). Of course, on top of the weekly work for the paper the riders also bought photos - quite often 3 or 4 each - AND money eventually came up front (once they knew and trusted me).
As often happens I eventually got asked by a friend to do his daughter's wedding, which I nervously agreed to. If ever a single activity causes stress then wedding photography is it. They were pleased with the outcome - so pleased his daughter's friend asked me to do her wedding - and so the snowball grew. At the end of each year I would dread hearing the wedding march one more time; come January I was wondering how long it was going to take for the first booking to come in. Taking the photographs on the day is not too bad if you can organize a crowd and manage to keep the family out of the bar until after the photo shoot. Opening the envelope that has just been delivered from the labs is when the nerves take over. Just remember - even if you are not 100% happy with the shots you have taken, the family will almost certainly be very pleased. Until you deliver the proofs, the only photos they have normally seen of the wedding is the snaps taken by aunts and uncles.
Word of caution - if you are faint of heat - DON'T Take on wedding photography.
Find someone local who is well know for a craft or a musician etc - take some free shots for them. I photographed a guy at work once - he hand painted gypsy caravans - the real things. Before long I was photographing the caravans for the gypsies AND their horses. Shortly afterwards I was photographing horses right around the county AND even judging horse and carts at an annual event - the winner - best turned out (decided by me) won a 20x24 print - taken by me but paid for by the show organizers.
I have photographed local bands for local newspaper coverage and promotion work, ships in bottles for a glass factory, photographed old photographs for a society specializing in the past, family portraits, babies, dogs, cats - even a pet owl. And all the while if any of these photos had a subsidiary use such as a submission to the local press then I did that: group photos of football teams, photographs of the school play (parents love those), the local dance class competition. The world is full of activity and it all requires recording, and someone somewhere is willing to pay for you to do just that.
Don't set your sights too high; it's unlikely you will be called upon to do the stills for the next blockbuster movie or the 2005 portrait of the president. But the everyday things, the mundane, the uninteresting, the ordinary all need a photographer at some stage and you could be the person to do that.
Just remember - a good amateur is far better than a bad professional.


text:
Movie Trailers, Movies, Video Games
Ratchet & Clank movie coming to theaters in 2015
Insomniac Games has announced that an animated Ratchet & Clank movie is coming to theaters in 2015.
James Stevenson, Community Lead at Insomniac Games, had this to say:
One of the biggest questions we've gotten in the last few years is "When are you going to make a Ratchet & Clank movie?" The truth is, we've wanted to do a movie for a long time! Ratchet & Clank's action, humor and galaxy-spanning adventures have really been the basis for a fantastic game series, and we think it'd translate perfectly to the big screen.
We've been looking for the right partner to help us bring a Ratchet & Clank movie to life, and we're thrilled to announce that Blockade Entertainment and Rainmaker Entertainment are currently in production on Ratchet & Clank's first cinematic adventure. Insomniac is honored to play a hands-on role with the film's production, screenplay, character development, and animation consulting. Furthermore, our own Ratchet & Clank writer, T.J. Fixman, who has written all of the recent Ratchet & Clank games, is writing the script for the film as well.
Blockade Entertainment Insomniac Games Rainmaker Entertainment Ratchet & Clank T.J. Fixman
Some links on this page may be affiliate links. Using these links supports our site and podcast. Thank you.
Previous Bryan Singer confirms Bishop and Warpath for X-Men: Days of Future Past
Next Thor: The Dark World – first trailer
Rob is a movie buff, computer whiz, gamer, huge Batman fan, and above all... a geek. In addition to being the Founder and Host of The Geek Generation, he is also a photographer, graphic designer, certified clinical hypnotherapist, a former professional wrestler, and a current superhero.
Quick Look at Operation: Tango
Rob Logan and Skowalz take a quick look at the gameplay for the first mission of Operation: Tango.
Monster Sanctuary – game review
Dyllan Thweatt
Monster Sanctuary requires that you become a tactical master, and while that may not be for everyone, it has more than earned its place as a stunning...
Batbarian: Testament of the Primordials – game review
If you're looking for a puzzle-focused platformer packed with puns, you'll be perfectly at home in the cave networks of Batbarian.
Ghostrunner – interview – PAX East 2020
30XX – interview – PAX East 2020

redpajama_set_name: RedPajamaCommonCrawl


text:
Young People Are Leading the Way on Climate Change, and Companies Need to Pay Attention
by Andrew Winston | Apr 16, 2019 | Uncategorized | 0 comments
[I've been watching, with some joy, the rise of the youth climate movement. A month ago, a couple million kids took to the streets to protest inaction on climate change which, as they see it, threatens their entire future. Unfortunately, they're right. They're also serious…and business should listen. Here's what I wrote about it for my HBR column.]
In one of the many oddities of biology, kids hear differently than the rest of us. There are frequencies that only teens and young adults can make out. Lately it seems that the under-20 crowd is hearing one particular high pitch much better than the rest of us, including most business leaders: the alarm that climate scientists have been sounding.
Consider the young Swede, Greta Thunberg, who just turned 16 in January. Last year, Thunberg stopped going to school to protest inaction on climate change, saying there was little point in studying for a future that may not exist. Within months, Thunberg urged immediate action from business leaders at the World Economic Forum and the told the UN's Secretary General and others at the global climate summit in Poland that they are "stealing [childrens'] future in front of their very eyes." What she started is growing, and she's been nominated for a Nobel Peace Prize for her efforts.
Every week, thousands of Belgian youth are marching on the EU capitol of Brussels. And on March 15, in what may be the largest youth-led protest in history, an estimated 1.6 million students in 300 cities around the world walked out of school to march for climate action. I went to the New York march and the energy was electric — and I didn't even take it personally when a group of teens called some colleagues and me "old people who need to do something."
There's more: A new youth group, the Sunrise Movement, recently held a somewhat contentious meeting with Sen. Dianne Feinstein of California about her support for climate policies. And a group of teens has sued the U.S. government for failing to protect them from climate change. Younger politicians are making their voices heard, too. Also consider what 29-year-old Rep. Alexandria Ocasio-Cortez of New York has achieved in just a few months in office. By pushing a broad set of climate and inequality goals under the banner of a "Green New Deal," the youngest woman ever elected to the U.S. Congress has moved the terms of the climate debate significantly.
Before writing this off as a lot of noise, consider the role of youth in previous social movements. Baby Boomers, when they were kids and teens, led the anti-war movement. The famed Greensboro lunch counter sit-in was led by four young men aged 17, 18, and 19. African-American kids bravely desegregated schools, and the first person to get arrested for refusing to give up her bus seat was not actually Rosa Parks, but 15-year-old Claudette Colvin. A generation later, Gen X and then Millennials shifted the debate on LGBT rights and gay marriage at a remarkable pace. In fact, it's hard to think of any substantial social movement that didn't have young, fearless people at the center.
And now, with the powerful tools of social media and 24×7 connectivity, the pace of social movements is quickening. The "Parkland Teens," the survivors of the horrific school shooting in Florida last year, attracted millions of Twitter followers in days. Within just a few weeks, they called for marches, which over one million people showed up for around the world. Cut to a year later, and the U.S. House of Representatives just passed the first real gun control legislation in many years.
Will this climate movement end up as significant as the anti-war, civil rights, and gay rights movements? It's hard to predict. But what's clear is that we're in the middle of a major re-alignment of values around climate. It's now unacceptable to young activists, and the millions of people they inspire, to espouse climate denial or play the "let's go slow" card. They don't appreciate being handed a disaster movie for them to live with for 70 to 80 years.
This brings me to business, and a warning: no organization can avoid values shifts. Remember, there were moments in history where it was generally acceptable to use slave labor or children in supply chains, to wink at rampant sexual harassment in offices, and to freely dump pollution in rivers and the air. None of these problems are eliminated today, but very few in business would suggest that they're ok. Morals changed, and then laws.
And while executives do increasingly seem to be moving toward action on climate change, with public pronouncements to cut their own emissions or buy renewable energy are becoming the norm in large companies, it's not clear whether those actions are enough to satisfy this next generation of customers and employees. In fact, companies seem to be more comfortable taking public stands on issues like race, immigration, gun violence, and transgender rightsbefore speaking strongly on the environment.
But that needs to change now. It's time, in the words of U.S. Sen. Sheldon Whitehouse, for "corporate good guys" to "show up in Congress to lobby for climate action." We need CEOs in the halls of power at the state and federal level pushing for aggressive policy.
This isn't a new idea, of course, but the history on climate lobbying is sparse. There are "DC visit" days organized by a few focused NGOs, and they're always hoping for bi-partisan climate solutions. But in reality, with a few exceptions, only smaller companies have been willing to put themselves out there. The big guys sign on to public statements like "We Are Still In," which is a good start, but is inadequate to the level of change required. They need to put some skin in the game and become more vocal and more aggressive.
In practice, this will mean disagreeing with politicians, up to and including the president, who say it's too expensive to act, or that climate is a hoax. In fact, a recent survey shows that 76% of Americans want companies to take a stand for what they believe, even if it's politically controversial.
It may just take the youngest Americans to get companies to take a real and public stand for aggressive global action on climate change; after all, if they don't, they risk getting out of step with an entire generation of employees and customers.
(This post first appeared in HBR here)
If you enjoyed this article, please sign up for Andrew Winston's RSS feed, or by email. Follow Andrew on Twitter @AndrewWinston
Andrew's book, The Big Pivot, was named a Best Business Book of the Year by Strategy+Business Magazine! Get your copy here. See also Andrew's TED talk on The Big Pivot.
SUBSCRIBE TO ANDREW'S BLOG AND NEWSLETTER
"A Fundamental Reshaping of Finance": My annotated version of Larry Fink's Bombshell CEO Letter
The Biggest Sustainability Stories of 2019 (and what to watch for in 2020)
What 1,000 CEOs Really Think About Climate Change and Inequality
The Biggest News and Health Story in the U.S. That Nobody Paid Attention To
Is the Business Roundtable Statement Just Empty Rhetoric?
Yes, I'm Feeling Down About Climate Change. Let's Discuss.
Business in the Age of Mass Extinction
The World in 2030: Nine Megatrends to Watch
The Huge Flaw in the Impeachment Debate
Is the Green New Deal Realistic?
Talking About Sustainability Can Drive Sales: Lessons From a Casino Giant
The Story of Sustainability in 2018: "We Have About 12 Years Left"
The Scale of the Climate Catastrophe Will Depend on What Businesses Do Over the Next Decade
Archives Select Month January 2020 December 2019 November 2019 October 2019 September 2019 August 2019 April 2019 March 2019 January 2019 November 2018 September 2018 July 2018 June 2018 May 2018 February 2018 January 2018 December 2017 November 2017 September 2017 August 2017 June 2017 May 2017 April 2017 March 2017 February 2017 January 2017 November 2016 October 2016 September 2016 August 2016 July 2016 June 2016 May 2016 April 2016 March 2016 February 2016 January 2016 December 2015 November 2015 October 2015 August 2015 July 2015 May 2015 April 2015 March 2015 February 2015 January 2015 December 2014 October 2014 September 2014 July 2014 June 2014 May 2014 April 2014 March 2014 February 2014 January 2014 December 2013 November 2013 October 2013 August 2013 July 2013 March 2013 February 2013 January 2013 December 2012 November 2012 October 2012 September 2012 June 2012 May 2012 April 2012 March 2012 February 2012 January 2012 December 2011 November 2011 October 2011 September 2011 August 2011 July 2011 June 2011 May 2011 April 2011 March 2011 February 2011 January 2011 December 2010 November 2010 October 2010 September 2010 August 2010 July 2010 June 2010 May 2010 April 2010 March 2010 February 2010 January 2010 December 2009 November 2009 October 2009 September 2009 August 2009 July 2009 June 2009 May 2009 April 2009 February 2009 January 2009 November 2008 October 2008 September 2008 August 2008 July 2008 June 2008 May 2008 April 2008 March 2008 February 2008 January 2008 October 2007 September 2007 August 2007 July 2007 June 2007 May 2007 April 2007 March 2007 February 2007 January 2007 December 2006 November 2006 October 2006 September 2006 August 2006
Categories Select Category Biodiversity/Rainforest (9) Brand/Intangible (29) Change (Behavior/Psychology) (21) Chemicals/Toxics (9) China, Clean Tech Race (17) Clean Tech/Renewables (35) Climate Change (96) Cost-Cutting/Eco-Efficiency (25) CSR (15) Downstream (End-of-Life, recycling) (3) Get Creative (35) Get Engaged (6) Get Lean (12) Get Smart – Eco Data (15) Green Business (10) Green Infrastructure (7) Green IT (8) Green Jobs (5) Green to Gold (2) Human Rights & LGBT (4) Hurdles and Challenges (5) Innovation, Heresy, Get Creative (18) Media Coverage (7) Mega-Issues (3) Millennials & Gen Z (3) Other – Social Media (1) Politics (9) Prosperity (20) Purpose & Meaning (8) Quotes (4) Renewables (26) Resilience (5) Resources/Commodities (11) Revenues (15) Risk Management (28) Small Business (3) Stakeholders (3) Stakeholders: Consumers (20) Stakeholders: Customers (B2B) (15) Stakeholders: Employees (14) Stakeholders: Finance/Wall Street (19) Stakeholders: Govt/Regulators (31) Stakeholders: Media (4) Stakeholders: NGOs (2) Supply Chain (25) Technology (AI, blockchain, etc.) (2) Transparency (17) Uncategorized (139) Value Creation (10) Water (10)
Andrew Winston © 2020. All Rights Reserved | Privacy Policy | Website by Aligold Designs
We use cookies and similar technologies to improve your browsing experience and the functionality of our site. We also collect some information using Google Analytics. By continuing to use our site, you agree to the use of cookies and the collection of information as described in our Privacy Policy. Read More >> ACCEPT


text:
Tag Archives: warfare
Indigenous Amazonian peoples: Social issues
Tribal warfare, anthropology, and the Awajún
January 30, 2015 Michael F. Brown
Awajún protesters with spears near Bagua, Peru, 2009
One of the biggest challenges of writing Upriver was finding a way to talk about the history of Awajún interpersonal violence and warfare without falling into the rhetorical traps that afflict contemporary debates about tribal societies. Tribal violence is an intensely polarizing topic among anthropologists, a situation famously expressed in the nasty point/ counterpoint over Napoleon Chagnon's books on the Yanomami people of Brazil and Venezuela. Others have leveled similar criticism at the work of Jared Diamond. I had hoped, perhaps naively, to stay out of this crossfire.
Anthropologists influenced by sociobiology and evolutionary psychology often accept tribal violence as an intrinsic or at least widely distributed aspect of non-state societies. Some focus on the selective reproductive advantage allegedly conferred on violent men in such societies (assuming that they aren't killed first by their ever-widening circle of enemies!). Anthropologists committed to this position are likely to foreground high levels of interpersonal violence and to accept uncritically the notion that it is ubiquitous.
Opposed to this perspective are two main counter-arguments that sometimes interweave:
Many, perhaps even most, tribal peoples found to have high levels of conflict-related mortality are essentially victims of expansionist colonial states. This argument is compellingly laid out in the SAR Press volume War in the Tribal Zone: Expanding States and Indigenous Warfare, edited by R. Brian Ferguson and the late Neil Whitehead, published in 1992. (Full disclosure: my friend Eduardo Fernández and I contributed a chapter to this book: PDF here.) The argument is that colonial expansion destabilizes local mechanisms for keeping the peace, provides access to more lethal weapons, introduces valuable trade items, such as steel tools, that foster competition between communities, and creates a situation in which tribal groups become pawns in a colonial game (e.g., via "ethnic soldiering").
Regardless of whether tribal peoples are warlike, their endangered status trumps public discussion of violence by anthropologists. In other words, today they are far more likely to be victims of violence than perpetrators of it. Making a big deal about the violent tendencies of a given tribal people is morally repugnant because (1) it gives states an excuse to persecute them and (2) it continues the colonialist tradition of "othering" peoples whose rights and cultural values continue to be trampled upon.
Both of these arguments are marshaled by Stephen Corry in a take-down of Steven Pinker and his book The Better Angels of Our Nature.
Finding middle ground in this ideological duel is challenging. The "tribal zone" model has compelling evidence to back it up. And it's fair to say that some of Pinker's evidence has been cherry-picked to support his argument that small-scale societies are significantly more violent than modern nation-states. (PDF of R. Brian Ferguson's analysis of the evidence is downloadable here.)
That said, it strikes me as implausible to contend that tribal peoples rarely fight one another or that the well-documented existence of warrior cultures in Amazonia, Africa, Southeast Asia, and elsewhere is entirely an effect of state expansion. Whatever the root causes of violence, many small-scale societies have developed elaborate mechanisms to foster and institutionalize aggression against other communities. These values are encoded in rituals, myths, and everyday behaviors. When such situations are encountered, it seems reasonable for anthropologists to report and analyze them in a balanced way. Sweeping unwelcome facts under the rug for political reasons raises serious ethical questions in a discipline that aspires to some degree of objectivity. (Whether anthropology does still aspire to objectivity is a matter of debate.)
What makes the Awajún case different from many others is that the Awajún celebrate their history of feisty independence. To the extent that they are violent today, it is mostly in defense of their lands and way of life. And thus far, their resistance has provided some protection from a predatory state. Not enough, certainly, but some.
AguarunaAwajúnindigenous AmazoniansJívarosociobiologytribal peoplesUpriverwarfare


text:
"""Script to automatically roll dependencies in the WebRTC DEPS file."""

import argparse
import base64
import collections
import logging
import os
import re
import subprocess
import sys
import urllib2

def FindSrcDirPath():
  """Returns the abs path to the src/ dir of the project."""
  src_dir = os.path.dirname(os.path.abspath(__file__))
  while os.path.basename(src_dir) != 'src':
    src_dir = os.path.normpath(os.path.join(src_dir, os.pardir))
  return src_dir

# Skip these dependencies (list without solution name prefix).
DONT_AUTOROLL_THESE = [
  'src/examples/androidtests/third_party/gradle',
]

# These dependencies are missing in chromium/src/DEPS, either unused or already
# in-tree. For instance, src/base is a part of the Chromium source git repo,
# but we pull it through a subtree mirror, so therefore it isn't listed in
# Chromium's deps but it is in ours.
WEBRTC_ONLY_DEPS = [
  'src/base',
  'src/build',
  'src/buildtools',
  'src/ios',
  'src/testing',
  'src/third_party',
  'src/third_party/findbugs',
  'src/third_party/gtest-parallel',
  'src/third_party/yasm/binaries',
  'src/tools',
]

WEBRTC_URL = 'https://webrtc.googlesource.com/src'
CHROMIUM_SRC_URL = 'https://chromium.googlesource.com/chromium/src'
CHROMIUM_COMMIT_TEMPLATE = CHROMIUM_SRC_URL + '/+/%s'
CHROMIUM_LOG_TEMPLATE = CHROMIUM_SRC_URL + '/+log/%s'
CHROMIUM_FILE_TEMPLATE = CHROMIUM_SRC_URL + '/+/%s/%s'

COMMIT_POSITION_RE = re.compile('^Cr-Commit-Position: .*#([0-9]+).*$')
CLANG_REVISION_RE = re.compile(r'^CLANG_REVISION = \'([0-9a-z]+)\'$')
ROLL_BRANCH_NAME = 'roll_chromium_revision'

SCRIPT_DIR = os.path.dirname(os.path.abspath(__file__))
CHECKOUT_SRC_DIR = FindSrcDirPath()
CHECKOUT_ROOT_DIR = os.path.realpath(os.path.join(CHECKOUT_SRC_DIR, os.pardir))

# Copied from tools/android/roll/android_deps/.../BuildConfigGenerator.groovy.
ANDROID_DEPS_START = r'=== ANDROID_DEPS Generated Code Start ==='
ANDROID_DEPS_END = r'=== ANDROID_DEPS Generated Code End ==='
# Location of automically gathered android deps.
ANDROID_DEPS_PATH = 'src/third_party/android_deps/'

NOTIFY_EMAIL = 'webrtc-trooper@grotations.appspotmail.com'

sys.path.append(os.path.join(CHECKOUT_SRC_DIR, 'build'))
import find_depot_tools

find_depot_tools.add_depot_tools_to_path()

CLANG_UPDATE_SCRIPT_URL_PATH = 'tools/clang/scripts/update.py'
CLANG_UPDATE_SCRIPT_LOCAL_PATH = os.path.join(CHECKOUT_SRC_DIR, 'tools',
                                              'clang', 'scripts', 'update.py')

DepsEntry = collections.namedtuple('DepsEntry', 'path url revision')
ChangedDep = collections.namedtuple(
    'ChangedDep', 'path url current_rev new_rev')
CipdDepsEntry = collections.namedtuple('CipdDepsEntry', 'path packages')
ChangedCipdPackage = collections.namedtuple(
    'ChangedCipdPackage', 'path package current_version new_version')

ChromiumRevisionUpdate = collections.namedtuple('ChromiumRevisionUpdate',
                                                ('current_chromium_rev '
                                                 'new_chromium_rev '))

class RollError(Exception):
  pass

def VarLookup(local_scope):
  return lambda var_name: local_scope['vars'][var_name]

def ParseDepsDict(deps_content):
  local_scope = {}
  global_scope = {
    'Var': VarLookup(local_scope),
    'deps_os': {},
  }
  exec (deps_content, global_scope, local_scope)
  return local_scope

def ParseLocalDepsFile(filename):
  with open(filename, 'rb') as f:
    deps_content = f.read()
  return ParseDepsDict(deps_content)

def ParseCommitPosition(commit_message):
  for line in reversed(commit_message.splitlines()):
    m = COMMIT_POSITION_RE.match(line.strip())
    if m:
      return int(m.group(1))
  logging.error('Failed to parse commit position id from:\n%s\n',
                commit_message)
  sys.exit(-1)

def _RunCommand(command, working_dir=None, ignore_exit_code=False,
    extra_env=None, input_data=None):
  """Runs a command and returns the output from that command.

  If the command fails (exit code != 0), the function will exit the process.

  Returns:
    A tuple containing the stdout and stderr outputs as strings.
  """
  working_dir = working_dir or CHECKOUT_SRC_DIR
  logging.debug('CMD: %s CWD: %s', ' '.join(command), working_dir)
  env = os.environ.copy()
  if extra_env:
    assert all(isinstance(value, str) for value in extra_env.values())
    logging.debug('extra env: %s', extra_env)
    env.update(extra_env)
  p = subprocess.Popen(command,
                       stdin=subprocess.PIPE,
                       stdout=subprocess.PIPE,
                       stderr=subprocess.PIPE, env=env,
                       cwd=working_dir, universal_newlines=True)
  std_output, err_output = p.communicate(input_data)
  p.stdout.close()
  p.stderr.close()
  if not ignore_exit_code and p.returncode != 0:
    logging.error('Command failed: %s\n'
                  'stdout:\n%s\n'
                  'stderr:\n%s\n', ' '.join(command), std_output, err_output)
    sys.exit(p.returncode)
  return std_output, err_output

def _GetBranches():
  """Returns a tuple of active,branches.

  The 'active' is the name of the currently active branch and 'branches' is a
  list of all branches.
  """
  lines = _RunCommand(['git', 'branch'])[0].split('\n')
  branches = []
  active = ''
  for line in lines:
    if '*' in line:
      # The assumption is that the first char will always be the '*'.
      active = line[1:].strip()
      branches.append(active)
    else:
      branch = line.strip()
      if branch:
        branches.append(branch)
  return active, branches

def _ReadGitilesContent(url):
  # Download and decode BASE64 content until
  # https://code.google.com/p/gitiles/issues/detail?id=7 is fixed.
  base64_content = ReadUrlContent(url + '?format=TEXT')
  return base64.b64decode(base64_content[0])

def ReadRemoteCrFile(path_below_src, revision):
  """Reads a remote Chromium file of a specific revision. Returns a string."""
  return _ReadGitilesContent(CHROMIUM_FILE_TEMPLATE % (revision,
                                                       path_below_src))

def ReadRemoteCrCommit(revision):
  """Reads a remote Chromium commit message. Returns a string."""
  return _ReadGitilesContent(CHROMIUM_COMMIT_TEMPLATE % revision)

def ReadUrlContent(url):
  """Connect to a remote host and read the contents. Returns a list of lines."""
  conn = urllib2.urlopen(url)
  try:
    return conn.readlines()
  except IOError as e:
    logging.exception('Error connecting to %s. Error: %s', url, e)
    raise
  finally:
    conn.close()

def GetMatchingDepsEntries(depsentry_dict, dir_path):
  """Gets all deps entries matching the provided path.

  This list may contain more than one DepsEntry object.
  Example: dir_path='src/testing' would give results containing both
  'src/testing/gtest' and 'src/testing/gmock' deps entries for Chromium's DEPS.
  Example 2: dir_path='src/build' should return 'src/build' but not
  'src/buildtools'.

  Returns:
    A list of DepsEntry objects.
  """
  result = []
  for path, depsentry in depsentry_dict.iteritems():
    if path == dir_path:
      result.append(depsentry)
    else:
      parts = path.split('/')
      if all(part == parts[i]
             for i, part in enumerate(dir_path.split('/'))):
        result.append(depsentry)
  return result

def BuildDepsentryDict(deps_dict):
  """Builds a dict of paths to DepsEntry objects from a raw parsed deps dict."""
  result = {}

  def AddDepsEntries(deps_subdict):
    for path, dep in deps_subdict.iteritems():
      if path in result:
        continue
      if not isinstance(dep, dict):
        dep = {'url': dep}
      if dep.get('dep_type') == 'cipd':
        result[path] = CipdDepsEntry(path, dep['packages'])
      else:
        if '@' not in dep['url']:
          continue
        url, revision = dep['url'].split('@')
        result[path] = DepsEntry(path, url, revision)

  AddDepsEntries(deps_dict['deps'])
  for deps_os in ['win', 'mac', 'unix', 'android', 'ios', 'unix']:
    AddDepsEntries(deps_dict.get('deps_os', {}).get(deps_os, {}))
  return result

def _FindChangedCipdPackages(path, old_pkgs, new_pkgs):
  pkgs_equal = ({p['package'] for p in old_pkgs} ==
      {p['package'] for p in new_pkgs})
  assert pkgs_equal, ('Old: %s\n New: %s.\nYou need to do a manual roll '
                      'and remove/add entries in DEPS so the old and new '
                      'list match.' % (old_pkgs, new_pkgs))
  for old_pkg in old_pkgs:
    for new_pkg in new_pkgs:
      old_version = old_pkg['version']
      new_version = new_pkg['version']
      if (old_pkg['package'] == new_pkg['package'] and
          old_version != new_version):
        logging.debug('Roll dependency %s to %s', path, new_version)
        yield ChangedCipdPackage(path, old_pkg['package'],
                                 old_version, new_version)

def _FindNewDeps(old, new):
  """ Gather dependencies only in |new| and return corresponding paths. """
  old_entries = set(BuildDepsentryDict(old))
  new_entries = set(BuildDepsentryDict(new))
  return [path for path in new_entries - old_entries
          if path not in DONT_AUTOROLL_THESE]

def FindAddedDeps(webrtc_deps, new_cr_deps):
  """
  Calculate new deps entries of interest.

  Ideally, that would mean: only appearing in chromium DEPS
  but transitively used in WebRTC.

  Since it's hard to compute, we restrict ourselves to a well defined subset:
  deps sitting in |ANDROID_DEPS_PATH|.
  Otherwise, assumes that's a Chromium-only dependency.

  Args:
    webrtc_deps: dict of deps as defined in the WebRTC DEPS file.
    new_cr_deps: dict of deps as defined in the chromium DEPS file.

  Caveat: Doesn't detect a new package in existing dep.

  Returns:
    A tuple consisting of:
      A list of paths added dependencies sitting in |ANDROID_DEPS_PATH|.
      A list of paths for other added dependencies.
  """
  all_added_deps = _FindNewDeps(webrtc_deps, new_cr_deps)
  generated_android_deps = [path for path in all_added_deps
                            if path.startswith(ANDROID_DEPS_PATH)]
  other_deps = [path for path in all_added_deps
                if path not in generated_android_deps]
  return generated_android_deps, other_deps

def FindRemovedDeps(webrtc_deps, new_cr_deps):
  """
  Calculate obsolete deps entries.

  Ideally, that would mean: no more appearing in chromium DEPS
  and not used in WebRTC.

  Since it's hard to compute:
   1/ We restrict ourselves to a well defined subset:
      deps sitting in |ANDROID_DEPS_PATH|.
   2/ We rely on existing behavior of CalculateChangeDeps.
      I.e. Assumes non-CIPD dependencies are WebRTC-only, don't remove them.

  Args:
    webrtc_deps: dict of deps as defined in the WebRTC DEPS file.
    new_cr_deps: dict of deps as defined in the chromium DEPS file.

  Caveat: Doesn't detect a deleted package in existing dep.

  Returns:
    A tuple consisting of:
      A list of paths of dependencies removed from |ANDROID_DEPS_PATH|.
      A list of paths of unexpected disappearing dependencies.
  """
  all_removed_deps = _FindNewDeps(new_cr_deps, webrtc_deps)
  generated_android_deps = [path for path in all_removed_deps
                            if path.startswith(ANDROID_DEPS_PATH)]
  # Webrtc-only dependencies are handled in CalculateChangedDeps.
  other_deps = [path for path in all_removed_deps
                if path not in generated_android_deps and
                   path not in WEBRTC_ONLY_DEPS]
  return generated_android_deps, other_deps

def CalculateChangedDeps(webrtc_deps, new_cr_deps):
  """
  Calculate changed deps entries based on entries defined in the WebRTC DEPS
  file:
     - If a shared dependency with the Chromium DEPS file: roll it to the same
       revision as Chromium (i.e. entry in the new_cr_deps dict)
     - If it's a Chromium sub-directory, roll it to the HEAD revision (notice
       this means it may be ahead of the chromium_revision, but generally these
       should be close).
     - If it's another DEPS entry (not shared with Chromium), roll it to HEAD
       unless it's configured to be skipped.

  Returns:
    A list of ChangedDep objects representing the changed deps.
  """
  result = []
  webrtc_entries = BuildDepsentryDict(webrtc_deps)
  new_cr_entries = BuildDepsentryDict(new_cr_deps)
  for path, webrtc_deps_entry in webrtc_entries.iteritems():
    if path in DONT_AUTOROLL_THESE:
      continue
    cr_deps_entry = new_cr_entries.get(path)
    if cr_deps_entry:
      assert type(cr_deps_entry) is type(webrtc_deps_entry)

      if isinstance(cr_deps_entry, CipdDepsEntry):
        result.extend(_FindChangedCipdPackages(path, webrtc_deps_entry.packages,
                                               cr_deps_entry.packages))
        continue

      # Use the revision from Chromium's DEPS file.
      new_rev = cr_deps_entry.revision
      assert webrtc_deps_entry.url == cr_deps_entry.url, (
          'WebRTC DEPS entry %s has a different URL (%s) than Chromium (%s).' %
          (path, webrtc_deps_entry.url, cr_deps_entry.url))
    else:
      if isinstance(webrtc_deps_entry, DepsEntry):
        # Use the HEAD of the deps repo.
        stdout, _ = _RunCommand(['git', 'ls-remote', webrtc_deps_entry.url,
                                'HEAD'])
        new_rev = stdout.strip().split('\t')[0]
      else:
        # The dependency has been removed from chromium.
        # This is handled by FindRemovedDeps.
        continue

    # Check if an update is necessary.
    if webrtc_deps_entry.revision != new_rev:
      logging.debug('Roll dependency %s to %s', path, new_rev)
      result.append(ChangedDep(path, webrtc_deps_entry.url,
                               webrtc_deps_entry.revision, new_rev))
  return sorted(result)

def CalculateChangedClang(new_cr_rev):
  def GetClangRev(lines):
    for line in lines:
      match = CLANG_REVISION_RE.match(line)
      if match:
        return match.group(1)
    raise RollError('Could not parse Clang revision!')

  with open(CLANG_UPDATE_SCRIPT_LOCAL_PATH, 'rb') as f:
    current_lines = f.readlines()
  current_rev = GetClangRev(current_lines)

  new_clang_update_py = ReadRemoteCrFile(CLANG_UPDATE_SCRIPT_URL_PATH,
                                         new_cr_rev).splitlines()
  new_rev = GetClangRev(new_clang_update_py)
  return ChangedDep(CLANG_UPDATE_SCRIPT_LOCAL_PATH, None, current_rev, new_rev)

def GenerateCommitMessage(rev_update, current_commit_pos, new_commit_pos,
                          changed_deps_list,
                          added_deps_paths=None,
                          removed_deps_paths=None,
                          clang_change=None,
                          ):
  current_cr_rev = rev_update.current_chromium_rev[0:10]
  new_cr_rev = rev_update.new_chromium_rev[0:10]
  rev_interval = '%s..%s' % (current_cr_rev, new_cr_rev)
  git_number_interval = '%s:%s' % (current_commit_pos, new_commit_pos)

  commit_msg = ['Roll chromium_revision %s (%s)\n' % (rev_interval,
                                                      git_number_interval),
                'Change log: %s' % (CHROMIUM_LOG_TEMPLATE % rev_interval),
                'Full diff: %s\n' % (CHROMIUM_COMMIT_TEMPLATE %
                                     rev_interval)]

  def Section(adjective, deps):
    noun = 'dependency' if len(deps) == 1 else 'dependencies'
    commit_msg.append('%s %s' % (adjective, noun))

  tbr_authors = ''
  if changed_deps_list:
    Section('Changed', changed_deps_list)

    for c in changed_deps_list:
      if isinstance(c, ChangedCipdPackage):
        commit_msg.append('* %s: %s..%s' % (c.path, c.current_version,
                                            c.new_version))
      else:
        commit_msg.append('* %s: %s/+log/%s..%s' % (c.path, c.url,
                                                    c.current_rev[0:10],
                                                    c.new_rev[0:10]))
      if 'libvpx' in c.path:
        tbr_authors += 'marpan@webrtc.org, jianj@chromium.org, '

  if added_deps_paths:
    Section('Added', added_deps_paths)
    commit_msg.extend('* %s' % p for p in added_deps_paths)

  if removed_deps_paths:
    Section('Removed', removed_deps_paths)
    commit_msg.extend('* %s' % p for p in removed_deps_paths)

  if any([changed_deps_list,
          added_deps_paths,
          removed_deps_paths]):
    change_url = CHROMIUM_FILE_TEMPLATE % (rev_interval, 'DEPS')
    commit_msg.append('DEPS diff: %s\n' % change_url)
  else:
    commit_msg.append('No dependencies changed.')

  if clang_change and clang_change.current_rev != clang_change.new_rev:
    commit_msg.append('Clang version changed %s:%s' %
                      (clang_change.current_rev, clang_change.new_rev))
    change_url = CHROMIUM_FILE_TEMPLATE % (rev_interval,
                                           CLANG_UPDATE_SCRIPT_URL_PATH)
    commit_msg.append('Details: %s\n' % change_url)
  else:
    commit_msg.append('No update to Clang.\n')

  # TBR needs to be non-empty for Gerrit to process it.
  git_author = _RunCommand(['git', 'config', 'user.email'],
                           working_dir=CHECKOUT_SRC_DIR)[0].splitlines()[0]
  tbr_authors = git_author + ',' + tbr_authors

  commit_msg.append('TBR=%s' % tbr_authors)
  commit_msg.append('BUG=None')
  return '\n'.join(commit_msg)

def UpdateDepsFile(deps_filename, rev_update, changed_deps, new_cr_content):
  """Update the DEPS file with the new revision."""

  with open(deps_filename, 'rb') as deps_file:
    deps_content = deps_file.read()

  # Update the chromium_revision variable.
  deps_content = deps_content.replace(rev_update.current_chromium_rev,
                                      rev_update.new_chromium_rev)

  # Add and remove dependencies. For now: only generated android deps.
  # Since gclient cannot add or remove deps, we on the fact that
  # these android deps are located in one place we can copy/paste.
  deps_re = re.compile(ANDROID_DEPS_START + '.*' + ANDROID_DEPS_END,
                       re.DOTALL)
  new_deps = deps_re.search(new_cr_content)
  old_deps = deps_re.search(deps_content)
  if not new_deps or not old_deps:
    faulty = 'Chromium' if not new_deps else 'WebRTC'
    raise RollError('Was expecting to find "%s" and "%s"\n'
                    'in %s DEPS'
                    % (ANDROID_DEPS_START, ANDROID_DEPS_END, faulty))
  deps_content = deps_re.sub(new_deps.group(0), deps_content)

  with open(deps_filename, 'wb') as deps_file:
    deps_file.write(deps_content)

  # Update each individual DEPS entry.
  for dep in changed_deps:
    local_dep_dir = os.path.join(CHECKOUT_ROOT_DIR, dep.path)
    if not os.path.isdir(local_dep_dir):
      raise RollError(
          'Cannot find local directory %s. Either run\n'
          'gclient sync --deps=all\n'
          'or make sure the .gclient file for your solution contains all '
          'platforms in the target_os list, i.e.\n'
          'target_os = ["android", "unix", "mac", "ios", "win"];\n'
          'Then run "gclient sync" again.' % local_dep_dir)
    if isinstance(dep, ChangedCipdPackage):
      package = dep.package.format()  # Eliminate double curly brackets
      update = '%s:%s@%s' % (dep.path, package, dep.new_version)
    else:
      update = '%s@%s' % (dep.path, dep.new_rev)
    _RunCommand(['gclient', 'setdep', '--revision', update],
                working_dir=CHECKOUT_SRC_DIR)

def _IsTreeClean():
  stdout, _ = _RunCommand(['git', 'status', '--porcelain'])
  if len(stdout) == 0:
    return True

  logging.error('Dirty/unversioned files:\n%s', stdout)
  return False

def _EnsureUpdatedMasterBranch(dry_run):
  current_branch = _RunCommand(
      ['git', 'rev-parse', '--abbrev-ref', 'HEAD'])[0].splitlines()[0]
  if current_branch != 'master':
    logging.error('Please checkout the master branch and re-run this script.')
    if not dry_run:
      sys.exit(-1)

  logging.info('Updating master branch...')
  _RunCommand(['git', 'pull'])

def _CreateRollBranch(dry_run):
  logging.info('Creating roll branch: %s', ROLL_BRANCH_NAME)
  if not dry_run:
    _RunCommand(['git', 'checkout', '-b', ROLL_BRANCH_NAME])

def _RemovePreviousRollBranch(dry_run):
  active_branch, branches = _GetBranches()
  if active_branch == ROLL_BRANCH_NAME:
    active_branch = 'master'
  if ROLL_BRANCH_NAME in branches:
    logging.info('Removing previous roll branch (%s)', ROLL_BRANCH_NAME)
    if not dry_run:
      _RunCommand(['git', 'checkout', active_branch])
      _RunCommand(['git', 'branch', '-D', ROLL_BRANCH_NAME])

def _LocalCommit(commit_msg, dry_run):
  logging.info('Committing changes locally.')
  if not dry_run:
    _RunCommand(['git', 'add', '--update', '.'])
    _RunCommand(['git', 'commit', '-m', commit_msg])

def ChooseCQMode(skip_cq, cq_over, current_commit_pos, new_commit_pos):
  if skip_cq:
    return 0
  if (new_commit_pos - current_commit_pos) < cq_over:
    return 1
  return 2

def _UploadCL(commit_queue_mode):
  """Upload the committed changes as a changelist to Gerrit.

  commit_queue_mode:
    - 2: Submit to commit queue.
    - 1: Run trybots but do not submit to CQ.
    - 0: Skip CQ, upload only.
  """
  cmd = ['git', 'cl', 'upload', '--force', '--bypass-hooks', '--send-mail']
  cmd.extend(['--cc', NOTIFY_EMAIL])
  if commit_queue_mode >= 2:
    logging.info('Sending the CL to the CQ...')
    cmd.extend(['--use-commit-queue'])
  elif commit_queue_mode >= 1:
    logging.info('Starting CQ dry run...')
    cmd.extend(['--cq-dry-run'])
  extra_env = {
      'EDITOR': 'true',
      'SKIP_GCE_AUTH_FOR_GIT': '1',
  }
  stdout, stderr = _RunCommand(cmd, extra_env=extra_env)
  logging.debug('Output from "git cl upload":\nstdout:\n%s\n\nstderr:\n%s',
      stdout, stderr)

def GetRollRevisionRanges(opts, webrtc_deps):
  current_cr_rev = webrtc_deps['vars']['chromium_revision']
  new_cr_rev = opts.revision
  if not new_cr_rev:
    stdout, _ = _RunCommand(['git', 'ls-remote', CHROMIUM_SRC_URL, 'HEAD'])
    head_rev = stdout.strip().split('\t')[0]
    logging.info('No revision specified. Using HEAD: %s', head_rev)
    new_cr_rev = head_rev

  return ChromiumRevisionUpdate(current_cr_rev, new_cr_rev)

def main():
  p = argparse.ArgumentParser()
  p.add_argument('--clean', action='store_true', default=False,
                 help='Removes any previous local roll branch.')
  p.add_argument('-r', '--revision',
                 help=('Chromium Git revision to roll to. Defaults to the '
                       'Chromium HEAD revision if omitted.'))
  p.add_argument('--dry-run', action='store_true', default=False,
                 help=('Calculate changes and modify DEPS, but don\'t create '
                       'any local branch, commit, upload CL or send any '
                       'tryjobs.'))
  p.add_argument('-i', '--ignore-unclean-workdir', action='store_true',
                 default=False,
                 help=('Ignore if the current branch is not master or if there '
                       'are uncommitted changes (default: %(default)s).'))
  grp = p.add_mutually_exclusive_group()
  grp.add_argument('--skip-cq', action='store_true', default=False,
                   help='Skip sending the CL to the CQ (default: %(default)s)')
  grp.add_argument('--cq-over', type=int, default=1,
                   help=('Commit queue dry run if the revision difference '
                         'is below this number (default: %(default)s)'))
  p.add_argument('-v', '--verbose', action='store_true', default=False,
                 help='Be extra verbose in printing of log messages.')
  opts = p.parse_args()

  if opts.verbose:
    logging.basicConfig(level=logging.DEBUG)
  else:
    logging.basicConfig(level=logging.INFO)

  if not opts.ignore_unclean_workdir and not _IsTreeClean():
    logging.error('Please clean your local checkout first.')
    return 1

  if opts.clean:
    _RemovePreviousRollBranch(opts.dry_run)

  if not opts.ignore_unclean_workdir:
    _EnsureUpdatedMasterBranch(opts.dry_run)

  deps_filename = os.path.join(CHECKOUT_SRC_DIR, 'DEPS')
  webrtc_deps = ParseLocalDepsFile(deps_filename)

  rev_update = GetRollRevisionRanges(opts, webrtc_deps)

  current_commit_pos = ParseCommitPosition(
      ReadRemoteCrCommit(rev_update.current_chromium_rev))
  new_commit_pos = ParseCommitPosition(
      ReadRemoteCrCommit(rev_update.new_chromium_rev))

  new_cr_content = ReadRemoteCrFile('DEPS', rev_update.new_chromium_rev)
  new_cr_deps = ParseDepsDict(new_cr_content)
  changed_deps = CalculateChangedDeps(webrtc_deps, new_cr_deps)
  # Discard other deps, assumed to be chromium-only dependencies.
  new_generated_android_deps, _ = FindAddedDeps(webrtc_deps, new_cr_deps)
  removed_generated_android_deps, other_deps = FindRemovedDeps(webrtc_deps,
                                                               new_cr_deps)
  if other_deps:
    raise RollError('WebRTC DEPS entries are missing from Chromium: %s.\n'
          'Remove them or add them to either '
          'WEBRTC_ONLY_DEPS or DONT_AUTOROLL_THESE.' % other_deps)
  clang_change = CalculateChangedClang(rev_update.new_chromium_rev)
  commit_msg = GenerateCommitMessage(
      rev_update, current_commit_pos, new_commit_pos, changed_deps,
      added_deps_paths=new_generated_android_deps,
      removed_deps_paths=removed_generated_android_deps,
      clang_change=clang_change)
  logging.debug('Commit message:\n%s', commit_msg)

  _CreateRollBranch(opts.dry_run)
  if not opts.dry_run:
    UpdateDepsFile(deps_filename, rev_update, changed_deps, new_cr_content)
  if _IsTreeClean():
    logging.info("No DEPS changes detected, skipping CL creation.")
  else:
    _LocalCommit(commit_msg, opts.dry_run)
    commit_queue_mode = ChooseCQMode(opts.skip_cq, opts.cq_over,
                                     current_commit_pos, new_commit_pos)
    logging.info('Uploading CL...')
    if not opts.dry_run:
      _UploadCL(commit_queue_mode)
  return 0

if __name__ == '__main__':
  sys.exit(main())

redpajama_set_name: RedPajamaGithub


Last Friday we had the pleasure of launching our Pop-Up Shop at Freemans Sporting Club in New York's Lower East Side. The shop will run for three months (April 15 - June 30) and features a selection of signature styles alongside new and exclusive models. This is the largest variety of Viberg product to ever be featured in one shop, so it's a unique opportunity to experience our different offerings in person. New products will be available throughout the duration of the event, including a limited amount of Shell Cordovan, so be sure to check back often if you are in the neighbourhood.


text:
Palmarès

Mondiali
2 medaglie:
1 oro (Russia 2007)
1 argento (Svizzera 2009)

Altri progetti

Collegamenti esterni

redpajama_set_name: RedPajamaWikipedia


Finally, a portable charger that works for all the phones! It's got a slim design that's easy to carry around, a micro usb cord that pops out of the side, and an 8-pin adapter so that cord can be used on iPhones *and* other smart phones. If that wasn't enough, it has enough juice to give an iPhone a full charge (and then some!).


It's not often you find a dog who loves oranges! Our old dog Molly used to love them. We thought she might be kind of weird. Well…maybe not?
Tonight, we were sitting out on the porch and I plucked an orange off of the tree to sample with my sangria. Cooper took his spot in the chair next to me and immediately started giving me "Cooper Eye"….the look he gives you when he wants something really, really bad. If he throws you that look, and doesn't get what he want's? Look out, he starts his Cooper tantrum. So of course I obliged!
Ahhhhhh….yesssss! Lovin' It!!!! Loving it……I think?
Oh yeah….that did me right!
Please Mum….Cawn I have some moh?
OMG- how adorable and Cooper looks fantastic!
My dog, Flower, likes oranges too!! Cooper's not weird….just too cute!!!!!


Ahead of Woods, though, stands a thicket of major champions - Francesco Molinari, Jason Day, Brooks Koepka, Adam Scott and Louis Oosthuizen.
Koepka also took down Woods, at the US PGA last August when they conducted their epic duel on the final day. "I'm happy. I feel good".
He kick-started his charge with birdies on nine and 11 and hit his tee shot to eight feet on the short 12th - energy levels surged in the packed gallery around Amen Corner. But nearly immediately the siren sounded to suspend play because of a threat of thunderstorms. Ever the showman, Poulter listened to the deafening reception for the man with whom he shared the afternoon walk and then rolled in his 20ft birdie putt. As Woods moved off and the crowd closed in, a rushing marshal slipped and collided with Woods' ankle. Woods recoiled and limped off, but was none the worse for it.
"I just let the round build", he said.
"It felt good to make some birdies", he told Sky Sports afterwards. "I've learned some things about that finish that I can apply to tomorrow and hopefully do better", Finau said. They'll go into Finau's trophy case at home.
"I hit the ball a little less well than yesterday, " Molinari said. Maybe he needed Augusta National's elders to shock the world and turn this event on its head. Mother Nature is undefeated, and the green jackets bowed to her will by looking at the radar and responding smartly and forcefully. Woods held the Sunday lead at last year's Open Championship before Molinari beat him head-to-head.
"It was pretty solid, not many mistakes, and when I missed greens I missed on the good side".
The distance he gave up via a severely low-calorie diet in the weeks leading up to the Players Championship has not played a factor on the course, though it was a topic of discussion to start the week and led to the aforementioned clash with Chamblee, who scolded Koepka's "self-sabotage". But intensive physio helped him to a round of 67 Friday.
"As a kid, I always wanted to compete against him and have the opportunity to ..." And now he goes into the weekend one shot behind, the closest he has been to a lead going into the weekend at a major since the 2013 British Open at Muirfield. "So I'm aware that it's not going to be easy tomorrow and, like I said, I can just do my best".


SEMINARIAN MICHAEL NGUYEN - JUST WHAT THE DOCTOR ORDERED FOR OUR COMMUNITY!
A WOLF News Student Report by: Emily E.
A WOLF News Student Report by: Michael C.
MEET THE WOLF NEWS PRESS CORPS!
Six Students Making News at St. Francis of Assisi Catholic School.
A Wolf News Student Report on Mrs. Avina's experience with kidney disease.
Middle School Reporters Gain New Perspective!
St. Francis of Assisi Catholic School has an app for busy parents. Available to for download on Android and iPhone devices, the app provides convenient, easily accessible information to our school community. From teacher websites and the school calendar, to attendance forms and permission slips, parents are given a personalized window to see what is happening at our school. Beyond that, the app allows for quick reminders via push notifications. To download simply search for "SFAYL" in the App Store.
STUDENTS ARE GROWING AT ST. FRANCIS OF ASSISI CATHOLIC SCHOOL!
A Wolf News Student Report on The Garden Club at SFAYL.
Online registration will be open Friday, March 31 through Monday, April 10. Read more for details on how to register your child(ren) for the 2017 - 2018 school year.
Congratulations to all of our actors!


In Aerosol physics, Deposition is the process by which aerosol particles collect or deposit themselves on solid surfaces, decreasing the concentration of the particles in the air. It can be divided into two sub-processes: dry and wet deposition. The rate of deposition, or the deposition velocity, is slowest for particles of an intermediate size. This is because mechanisms for deposition are most effective for either very small or very large particles.
Deposition velocity is defined as F = v*c, where F is flux density, v is deposition velocity and c is concentration. In gravitational deposition, this velocity is the settling velocity due to the gravity and drag.
Often studied is whether or not a certain particle will impact with a certain obstacle. This can be predicted with the Stokes number Stk = S/d, where S is stopping distance (which depends on particle size, velocity and drag forces), and d is characteristic size (often the diameter of the obstacle). If the value of Stk is less than 1, the particle will not collide with that obstacle. However, if the value of Stk is greater than 1, it will.
Deposition due to Brownian motion obeys both Fick's first and second laws. The resulting deposition flux is defined as J=n*(D/πt)¹/², where J is deposition flux, n is the initial concentration, D is the diffusion constant and t is time. This can be integrated to determine the concentration at each moment of time.
Gravitational sedimentation. This is where particles fall down due to gravitation.
Impaction. This is when particles interfacing an obstacle are not able to follow curved streamlines of the flow due to their inertia. The larger the mass of the particle, the greater the displacement from the streamline.
Interception. This is when small particles follow the streamlines, but if they flow too close to an obstacle, they may collide (e.g. a branch of a tree).
Brownian motion. This is the process by which aerosol particles move randomly due to collisions with gas molecules. Such collisions may lead to further collisions with either obstacles or surfaces. There is a net flux towards lower concentrations.
Turbulence. Turbulentic eddies in the air transfer particles which can collide. Again, there is a net flux towards lower concentrations.
Other processes, such as: Thermophoresis, diffusiophoresis and electrophoresis.
Precipitation scavenging. This is where falling rain droplets collide with particles. This is also called "below-cloud scavenging".
In-cloud scavenging. This is where aerosol particles collide with the water droplets in clouds. A common example of this type of deposition is inside fog. Clouds may also intercept with terrain (e.g. onto a mountain).
Snow scavenging. This is where falling snow "removes" the material below it.
This article is licensed under the GNU Free Documentation License. It uses material from the Wikipedia article "Deposition_(Aerosol_physics)". A list of authors is available in Wikipedia.


Planning a party in Fairport and need a Candy? Searching for the perfect party Chocolate Fountain in Fairport, NY?
You may try searching other nearby Fairport cities & counties.
Find the perfect Fairport Candy or Chocolate Fountain! Party Blast lists professional Candy and Chocolate Fountains for parties in Fairport, NY.


23% of respondents say they do not currently have a CISO or security leader.
Cyber resiliency and preparedness remain a challenge for businesses worldwide.
Despite these results, 72% of respondents report feeling more cyber resilient than they were last year. Is this confidence misplaced?
34% assess device and system interconnectivity and vulnerability across the business ecosystem.
These low results for cyber preparedness and resiliency present a significant risk for business. In its Global Risk Report 2017, the World Economic Forum found that "large-scale cyber-attacks or malware causing large economic damages" or "widspread loss of trust in the internet" remain the primary business risks in North America.
Organizations must be better prepared for cybersecurity incidents, which can result from unintentional events or deliberate attacks by insiders or third parties, such as cyber criminals, competitors, nation-states, and "hacktivists." A prior IBM Study on the cost of data breaches found, using a sample of 419 companies in 13 countries and regions, that 47% of data breach incidents in 2016 involved a malicious or criminal attack, 25% were due to negligent employees or contractors (i.e., a human factor), and 28% involved system glitches, including IT and business process failures. Organizations that fall victim to successful cyber attacks or experience cyber incidents may incur substantial costs and suffer significant consequences, including remediation costs, increased cybersecurity protection costs, lost revenue, litigation and legal risk, reputational damage, increased insurance premiums, and damage to the organization's competitiveness and shareholder value.
Making things more complicated, there are number of new regulatory regimes requiring covered enterprises to develop robust cybersecurity policies, safeguards, and incident response plans, including the New York Department of Financial Service Cybersecurity Rules and the US Security and Exchange Commission's recent guidance on cybersecurity risk and incident disclosures.
If you or your enterprise are looking to assess your current cybersecurity practices, risk profile, or incident response preparedness, including legal compliance, or create new systems, policies, and processes, the Dentons cybersecurity team is prepared to help.
Dentons is the world's largest law firm, a leader on the Acritas Global Elite Brand Index, a BTI Client Service 30 Award winner, and recognized by prominent business and legal publications for its innovations in client service, including founding Nextlaw Labs and the Nextlaw Global Referral Network. The Dentons Privacy and Cybersecurity Group operates at the intersection of technology and law, and has been singled out as one of the law firms best at cybersecurity by corporate counsel, according to BTI Consulting Group.


Home. About Us. Contact Us. Feedback Form.
If you would like to send an enquiry or feedback to Christchurch International Airport, please complete the form below along with your contact details and we will forward this to the relevant person.


text:
Q: dcef3 child process doesn't quit I'm trying dcef3 to make a simple browser which opens a fixed url. I've set CefSingleProcess as false. As soon as I run the application, two processes of the same name are created (watching in the process explorer). Quit the application, and only one of the processes goes, other remains.
The OnProcessMessageReceived call never gets called. The OnRenderProcessTerminated call never gets called.
Is there anything specific I need to do to get cef to kill it's child processes? Any pointers would be helpful.
Thanks!

A: Solution:
In the application, I was doing this:
CefSingleProcess = false;
Application->Initialize();
Application->MainFormOnTaskBar = true;
Application->CreateForm(__classid(TForm2), &Form2);
Application->Run();

I had skipped a call to CefLoadLibDefault(). To fix it, I did this.
CefSingleProcess = false;
if( !CefLoadLibDefault())
        return 0;
Application->Initialize();
Application->MainFormOnTaskBar = true;
Application->CreateForm(__classid(TForm2), &Form2);
Application->Run();

All working fine now. @pac, hope you find this useful.

redpajama_set_name: RedPajamaStackExchange


text:
Tibet, China and the West: Empires of the Mind
By Dibyesh Anand*
The clash over the status and future of Tibet has been transformed by the idea of sovereignty, says Dibyesh Anand
The sudden escalation of protest by Tibetans in Lhasa and elsewhere in March 2008 has been accompanied by vigorous rhetoric from the Chinese state reaffirming its sovereignty over Tibet and strong counter-arguments from Tibetans claiming the right to self-determination. Both these positions crucially depend on historical references and evidence for their validation. But how far does history provide support for either?
One way to approach this question is to examine contemporary political claims over Tibet in light of the contending parties' use of the idea of sovereignty. Such a reading might be said to complicate both sides' political assertions. For example, in the early 20th century Tibetans took advantage of civil wars within China to throw out Chinese officials and troops and make their state de facto independent, a situation that lasted from 1913 to 1949. But this period did not see Tibet gain widespread recognition as an independent state, and de jure Chinese claims of political supremacy went unchallenged. In this sense, China retained valid historical and legal claims over Tibet.
At the same time, China's political control of Tibet had never been absolute. Tibet had occupied a special place for China, whose emperors were often Buddhists and who also found the Tibetan lamas useful allies in efforts to pacify the Buddhist Mongols. The relationship resembled that of patron-to-priest; it had a religious-symbolic-political content that was alien to absolutist terms of sovereignty or independence (see Gray Tuttle, Tibetan Buddhists in the Making of Modern China [Columbia University Press, 2005]).
The Chinese use of the European concept of absolute sovereignty gave this relationship an extra charge. It was itself the product of two factors: the rise of nationalism in China in the early 20th century, and British-Indian attempts to name Sino-Tibetan relations using European vocabulary. In this sense, Chinese control over Tibet can be understood through two different imperial trajectories - one Chinese and one western. The fact that the People's Republic of China (PRC), while focusing primarily on historical-imperial ties to legitimise its control over Tibet, uses the modern concept of sovereignty - a product of European universalisation through imperialism and decolonisation - shows the significance of the western imperialist trajectory in the "scripting" of modern Tibet.
The crucial transition
Tibetan nationality/ethnicity was from a very early stage at the core of modern Chinese national consciousness - along with the categories of Han, Hui (used for all Muslims), Manchu and Mongol. Meanwhile, the combination of the impact of western (European, American and - in this context - Japanese) imperialism and awareness of China as being a "great continuous civilisation" made Chinese nationalism hyperconscious of any challenge to its imagined collectivity. Thus, Tibetans became an integral part of modern Chinese nationalism and then the nation-state well before military "liberation" in 1950 and the "seventeen-points agreement" in 1951. More broadly, today's Chinese regime uses nationalism as a primary means of legitimising its rule as it seeks to combine authoritarian control with capitalist economic practices; as such, it cannot but be paranoid about ethno-nationalism taking a political form, in Tibet or elsewhere.
British imperialist activities in Tibet also played an important role in transforming Chinese attitudes toward Tibet. In particular, the Younghusband invasion of 1903-04 was instrumental in making the Chinese elite realise its vulnerability to hostile forces from beyond the Himalayas to the south. The most significant aspect of the British imperial policy practiced in the first half of the 20th century was the formula of "Chinese suzerainty - Tibetan autonomy". But this calculated strategic hypocrisy, in nurturing ambiguity over Tibet's political status, was not to last. The late 1940s was a crucial period in this respect. The British withdrew from India in 1947, and the communist victory in the civil war meant that a stable government emerged in China after 1949; together, these events meant that the context of the "Chinese suzerainty - Tibetan autonomy" formula was transformed. China since the start of the 20th century had maintained its sovereignty over Tibet, and now was in a military position to enforce this claim and (as it saw the situation) "liberate" Tibet. Britain, with the end of its empire in India, no longer conceptualised Tibet as strategic.
India at the dawn of its own independence was impelled by an anti-imperialist nationalism to see the Tibet issue as a remnant of British imperialism in the region; as a result, it was willing to accept Chinese control of Tibet without realising that what India thought was a settled border was in fact the product of the Simla agreement between British India and Tibet (which China, after initialling it, had then rejected as an unequal treaty). Thus, India's recognition of Tibet as part of China opened up border issues between the two states.
The Tibetans' belated attempts in the late 1940s to gain international support for recognition of their independent status came to nothing. The PRC completed the geopolitical scripting of Tibet as an autonomous but integral part of China by one of the most potent weapons of the European constitutional armoury: the idea of sovereignty. In effect, Tibet's geopolitical identity got translated from "suzerainty-autonomy" to "sovereignty-autonomy"; and it was China, not Tibet, which found the concept of sovereignty most useful to its interests and ambitions.
The uses of history
The story of how the "Tibet question" has come to be framed by competing notions of sovereignty and autonomy makes clear that the intractability of political problems in the post-colonial world is due to other factors than longstanding historical animosity or "essential" cultural differences. The ideas of sovereignty and nationalism were originally western, but non-western actors have long appropriated them to transform their own sense of political community (for a fuller development of this argument, see my book Geopolitical Exotica: Tibet in Western Imagination [University of Minnesota Press, 2008].
In this project, the utility of "tradition" is as a resource for buttressing claims to modern statehood. Those like the Tibetans who lost out at the crucial moment of decolonisation find it hard to advance a convincing claim to be recognised as a separate nation-state unless an existing overlord state breaks up or other powerful countries support secession from established states. In the case of Tibet, neither of these conditions is in the realm of possibility; this leaves the diasporic Tibetans under the Dalai Lama with little room for manoeuvre. A contributor to their predicament is the fact that the west, through its imperial scripting of modern Tibet, has been an ally of China in the latter's appropriation of the vocabulary of sovereignty.
The limits of the absolute
The historical contextualising of the Tibet question is important in helping to explain the background of contemporary political arguments. If history is understood as more than a buttress for current positions, it may still suggest elements that could be part of a way forward. For example, before the British imperial intervention, Sino-Tibetan relations often accommodated mutual interests; Tibetans did not usually feel political pressure from China and had considerable freedom (without calling it "independence"), while China had recognised overall political control (without needing to invest heavily in the region).
At some point, the international system and individual states will have to recognise that absolutist notions of sovereignty can do more harm than good. This would also open the way to a humane and effective solution for Tibet within China. For the time being, it must be hoped that the Chinese government can come to realise that a system which allows dissent and protest can produce durable solutions, whereas one that remains forever suspicious of its own citizens never can.
This article originally appeared on openDemocracy.net under a Creative Commons licence. To view the original article, please click here.
More Information on Nations & States


text:
Tag: existential crisis
A few of my thoughts on the existential crisis you are having regarding your career
Every person I know is having a deep existential crisis about either: a) their career; or b) their romantic life. Now, no one ever comes to me to ask for my views on their romantic life (even though I'd be happy to provide them!) because I am not very qualified to comment on that. However, a large number of people do use me as a sounding board for their vocational woes, because, well, I don't want to sound snotty, but I've kind of figured it out. I know what I'm going to do with my life (or at least as much of it as I can visualize, which is really only about the next 2-3 years), and I've been not unsuccessful at finding the money and free time that I need in order to write.
Most of the people I know are either: a) just entering the workforce, in which case, god help you, since you're pretty much just going to have to take what you can get; or b) have been in the workforce for a few years (working whatever job they could get) and are now wondering whether to switch fields or go to graduate school or to drop out of whatever field they've already gone to graduate school for.
For most of the people in category b), the problem is a lack of enjoyment. They go to their job every day, and they don't like the work, the people, and/or the mission of the organization. In many cases, they're somewhat glued into their current life-paths, because it's very high-status. I mean, most people don't have a great idea of what they want to do in this life, so, all else equal, it makes sense to go for the money and the status. However, if you've gone for those things and are not enjoying it...then...I don't know, it's worth considering a change.
Because sometimes when people describe to me their dreams for the future, it's obvious that they don't really want to be working: e.g. the people who are waiting for their startup to be acquired so they can retire at thirty-five, or lawyers who are willing to go through years upon years of hell and plan to kick back after they make partner, or med students who're going to have to work like dogs through the residencies but are planning on taking up lifestyle specialties (like anesthesiology) so they won't have to work very hard later.
Well...maybe I'm just short-sighted, but to me it sounds like what you're saying is that you don't want to work. And...I kind of feel like if you don't want to work, then it doesn't make sense to spend the next ten years working really really hard. You should just find a way to not work so hard right now. Because who can accurately plan for ten years in the future anyway? Who knows whether you make partner? Or whether the lifestyle specialty actually turns out to be that easy? Whenever people tell me that they want to retire at age forty, I'm like....but that's in thirteen years!
Whereas, on the other hand, I'm sure this is not possible for everyone, but I think that anyone who is capable of getting into a top med school or law school is also capable of working their current life in such a manner that they can earn enough money to live without doing a huge amount of work. Or...at least...maybe that's something to consider aiming for?
However, there's a kind of mental blockage there. Most people won't even consider the life of leisure option. Sometimes when I mention to people that maybe they should consider aiming for a life of leisure, they're like, "Oh, no, I need to work." I think they believe they'd fall apart without work to hold them together
But is that really the case? I just...I don't believe it. Most peoples' experience with not working is unemployment, which sucks, because you're trying to work but you can't. However, if you're choosing not to work (or to work less), then I think it'd be a lot better. Personally, I've been part-time for threeish years now, and it is a living dream. It is wonderful to be able to do manage my own time and do what I want every day. I don't even have the words to justify it, because, to me, it's just so self-evident that being able to do whatever you want, whenever you want, is a recipe for an amazing time.
Oh well, I've already blogged about how crazy it is (to my ears) when people say something like that. [I can't find this blog post...oh well...it will go unlinked...]
You know, even though writing is silly and doesn't pay well or provide value to the world and is also a pretty low-status occupation (at least until you publish a book), I am glad that I found it. It really is nice to know what you're supposed to be doing.
And that's not just because I enjoy doing it, but also because having a vocation also provides a lot of direction to my life.
Until I'd committed to writing, there were a lot of things that I thought about being: a policy wonk; a professor; a jet-setting man of business. But now all that stuff is gone. I don't have the bandwidth to devote to two careers. Instead, the only problem is to find enough money and leisure time to do what I need to. And that really is only a logistical problem. It doesn't require any deep soul-searching...just some hustling.
I think that is the main benefit of an artistic career. It's not the art. The art itself is usually bad and even if it's good, it's not like the world really needs more art, anyway. It's that pursuing an artistic career gives you permission to divorce your sense of self-worth from the economic marketplace. Once you remove considerations of status and meaning from work, many of these career questions become much simpler.


The piece of code in question is really simple, involving the maintenance of the BUF structure's breferences member, which notionally is a count of how many times the page has been touched since the page's counters were last reset.
Here's something odd. If you do an online search for "SQL Server latch promotion", a number of top hits (e.g. this, this and this) don't actually concern latch promotion, but rather an obscure informational message that seemed to come out of the woodwork in 2008 R2: Warning: Failure to calculate super-latch promotion threshold.".
Somewhere among those hits you'll find one of the very few sources around latch promotion, Bob Dorr's excellent "How it works" blog post. One thing that bugs me about this picture is that latch promotion clearly isn't that much talked about until people see unusual messages in their error logs.


Our guests at Nick Alexander BMW only know quality service and a great customer experience. So why stop at just offering the best vehicles in our all-new BMW inventory and certified pre-owned inventory? When you have a BMW that needs anything form routine maintenance to an oil change, we have you covered with our BMW Value Services, courtesy of the experts at our BMW service center. This ensures that your BMW stays on the road longer and that only the very best BMW experts are working on your car. Schedule a car service appointment online, over the phone at (323) 583-1901, or visit our BMW dealership in Los Angeles, CA today!