text:
\section{INTRODUCTION}

With the a priori defined 4\textsuperscript{th} Industrial revolution (I4.0) the concept of connected factories is de facto standard for competitive advantages of European manufacturing \cite{Forschungsunion.2013, Hermann.2016}. The concept envisages that the Factories of the Future (FoF) will be able to share information regarding processes and products that will enable life-cycle tracking of development, production, and services \cite{DeutschesInstitutfurNormung.2016.04}. However, the realization of this vision is still far from reaching modern companies \cite{Legat.2014}. Automation will play an important role in the domain of FoF, and the National Institute of Standards and Technology (NIST) has outlined the main challenges in the manufacturing interoperability program of NIST \cite{Kemmerer.2009}. Among those, the most important to our work is the misinterpretation of definitions or meaning of terms when exchanging information, which is mainly due to the lack of common data models that can be easily shared among factories \cite{Legat.2014}. Therefore, in this work, we would like to address this issue by analysing an I4.0 related industrial use case where a collaborative robot system needs to communicate with an activity recognition system to learn about a new task using Learning from Demonstration (LfD). To accomplish this, we will use the \textit{functional object-oriented network} (abbreviated as FOON)~\cite{Paulius2016FOON,Paulius2018FOON,Paulius2021FOON} together with a semantically linked data model.

The paper is organised as follows. In Section~\ref{sec:background}, we describe prior work in this area and discuss the need for a semantically linked data model to improve interoperability considering a use case in LfD. Afterwards, in Section~\ref{sec:usecaseandmethodology}, we explain the addressed use case and the methodology used for the action recognition together with its grounded FOON data model. Finally, in Section~\ref{sec:workinprogress}, we discuss our preliminary results and the future steps of our research.

\section{BACKGROUND \label{sec:background}}

\subsection{Functional Object-Oriented Network}
FOON is a symbolic knowledge representation for robots that takes the form of a semantic graph.
Motivated by the theory of affordance~\cite{Gibson_1977}, a FOON can be used to describe objects, actions, and their corresponding effects on those objects or on the robot's environment.
This is achieved through its bipartite network structure comprising of two types of nodes: object nodes and motion nodes.
Object nodes describe any sort of object that is used in manipulation or activities, such as tools, ingredients or components, while motion nodes describe actions using human action labels, which can be either manipulation actions (e.g., pouring or cutting) or non-manipulation actions (e.g., baking or frying).

As a bipartite graph, object nodes are connected to motion nodes, while motion nodes are connected to object nodes.
This innately allows a FOON graph to describe an object's state change(s) as actions are executed, as a motion node's incoming edge indicates a precondition, while a motion node's outgoing edge indicates an effect.
In FOON terminology, an action is described as a \textit{functional unit}, which comprises of input and output objects (describing precondition and effects) and a motion node.
A chain of functional units describing a single activity is referred to as a \textit{FOON subgraph} (example shown in Figure~\ref{fig:FOON}), and a FOON graph that is made from two or more subgraphs is referred to as a \textit{universal FOON}.

\begin{figure}
    \centering
    \subfloat[Assembly FOON]{\includegraphics[width=\columnwidth]{figures/assembly_FOON-2.pdf}\label{fig:FOON-ass}}

    \subfloat[Disassembly FOON]{\includegraphics[width=\columnwidth]{figures/disassembly_FOON-2.pdf}    \label{fig:FOON-dis}}
    \caption{Illustrations of FOON subgraphs for: a) industrial assembly and b) disassembly of parts (best viewed in colour). Here, object nodes are denoted by circles, while motion nodes are denoted by squares. Regular object nodes are denoted in lime green, while intended goal nodes for each subgraph's task is denoted in blue. For the assembly task, the goal is to attach a bracket to a strut profile and secure it with a T-bolt and flange nut, while for the disassembly task, the goal is to dismantle the secured bracket and strut profile.

    }
    \label{fig:FOON}
\end{figure}

\subsection{Interoperability for the Factories of the Future}
As previously mentioned, interoperability is the field addressing the perfect exchange of information between I4.0 actors (e.g., machine, human), where perfect means that accurate information exchange is guaranteed during the data life-cycle (i.e., origin, production, and use) \cite{Ford.2007}. To address this issue in the manufacturing domain, the so-called reference architectures (RAs) have been introduced by several standardization bodies. RAs are blueprints that contain and track all the information regarding processes' life-cycles, thereby enabling faster reuse of information \cite{Han.2020}. The most known RAs are: Reference Architecture Model Industrie 4.0 (RAMI4.0) \cite{DeutschesInstitutfurNormung.2016.04}, ISO/ TC 184 \cite{InternationalOrganizationforStandardization.2018}, and NIST Smart Manufacturing Architecture \cite{Lu.2016}. However, when considering real manufacturing use cases, the RA with the most overlap with industrial applications is RAMI4.0 \cite{CruzSalazar.2019}. Of utmost importance in this RA are the Communication and Information layers, as they include the representation of data according to a uniform format \cite{DeutschesInstitutfurNormung.2016.04}. In these layers, the Open Platform Communications Unified Architecture (OPC UA) is often used. OPC UA communicates information using a shared semantic information model (i.e., ontology) while using a cross-platform transmission protocol \cite{StefanProfanter.2019}. Therefore, it could provide the information description as highlighted by the problem scope of this work. Unfortunately, the OPC UA information model\footnote{\url{https://opcfoundation.org/developer-tools/specifications-opc-ua-information-models}} does not have any activity description as it would be required for a LfD use case.

\subsection{Learning from Demonstration and Interoperability}
The joint design of an ontology and knowledge processing system has been a topic of interest for several domains and problems~\cite{nakawala2018approaches,manzoor2021ontology}.
One of the most well-known comprehensive knowledge processing systems and ontologies for service robotics is KnowRob~\cite{tenorth2013knowrob}, which is a part of the open-Ease project~\cite{beetz2015open} and was preceded by RoboEarth~\cite{waibel2011roboearth}.
The motivation behind this ontology is to connect conceptual knowledge from several sources, such as natural language, online resources, and web pages, and to draw upon episodic memories and experiences from other robots as a cloud robotics platform.
This work best demonstrates how an effective system that connects several modalities of data for robot task planning and execution can be designed.
However, such a system consists of many components that are more suited for dynamic or diverse scenarios like in the household, and due to the unnecessary complexity, their advantages could not be fully integrated to industrial cases, especially when considering the relation between adoption and technology ease of use \cite{Saghafian.2021}.
Therefore, we choose to investigate a simpler system that will benefit from the intuitiveness of FOON and existing linked data modelling methods.

\section{USE CASE AND METHODOLOGY \label{sec:usecaseandmethodology}}

\subsection{Use Case}
The use case analyses the assembly and disassembly of strut profiles. Strut profiles were chosen as they are conventionally used in the industry for building workcells (e.g., robotic workcell).
The use case envisions an operator in front of a workbench with all the parts that needs to be manipulated as depicted in Figure~\ref{fig:assembly}. Considering the numbering in the Figure, the parts are: strut profile \raisebox{.2pt}{\textcircled{\raisebox{-.6pt} {1}}}, bracket \raisebox{.2pt}{\textcircled{\raisebox{-.6pt} {2}}}, T-bolt \raisebox{.2pt}{\textcircled{\raisebox{-.6pt} {3}}}, and flange nut \raisebox{.2pt}{\textcircled{\raisebox{-.6pt} {4}}}.

\begin{figure}
    \centering
    \centering
    \def\linewidth{\linewidth}

    \fontsize{11}{9} \selectfont
    \graphicspath{{figures/}}
    \resizebox{0.92\linewidth}{!}{\input{figures/parts.pdf_tex}}

    \caption{Image of the workbench with the operator and the parts used for the assembly process. Going from the left to the right, the parts are as follows: strut profile \raisebox{.2pt}{\textcircled{\raisebox{-.6pt} {1}}}, bracket \raisebox{.2pt}{\textcircled{\raisebox{-.6pt} {2}}}, T-bolt \raisebox{.2pt}{\textcircled{\raisebox{-.6pt} {3}}}, and flange nut \raisebox{.2pt}{\textcircled{\raisebox{-.6pt} {4}}}.}
    \label{fig:assembly}
\end{figure}

\subsection{Creating a FOON for Industrial Tasks}
FOON has been applied mainly to cooking activities. In this work, we apply the FOON representation to industrial tasks, specifically assembly and disassembly of parts required for preparing a robotic workcell.
Such parts include strut profiles, flange nuts, T-bolts, and brackets.
For the time being, we constructed subgraphs for each task, and these are shown as Figures~\ref{fig:FOON-ass} and \ref{fig:FOON-dis} respectively.
These subgraphs describe several high-level skills or actions required to assemble components, such as picking-and-placing, screwing, and unscrewing.
Skill definitions were taken from \cite{Backhaus.2017,Froschauer.2019}.
Furthermore, to make such graphs suitable for action recognition, the notion of hands or end-effectors were included to better identify objects of focus when using hand recognition, which will be addressed in Section~\ref{sec:workinprogress}.

\subsection{Modelling of the Ontology\label{subsec:modellingoftheontology}}
To address the identified need of an activity description aligned to an industrial-like infrastructure, we opted to use a semantically linked activity information model. Such decision was driven by the possibility of easily mapping a semantically linked model to the OPC UA information model as outlined by \cite{Schiekofer.2019}. Considering that we are using the FOON comprised of several \textit{functional units}, our modelling proposes an approach to build and connect \textit{functional units}. For our modelling, we start from the \textit{Task} data model\footnote{\url{https://shop4cf.github.io/data-models/task.html}} and \textit{Resources} data models\footnote{\url{https://shop4cf.github.io/data-models}} created by the Smart Human Oriented Platform for Connected Factories (SHOP4CF) consortium \cite{MichaZimniewicz.2020}. These information models were selected because they are based on linked data and they represent manufacturing use cases; therefore, they satisfy the requirements for mapping into OPC UA. The \textit{Task} data model was chosen due to its similar definition to a \textit{motion node}: a \textit{Task} is intended to be a manufacturing operation that may contain sub-steps, and it is associated to resources (i.e., persons, devices, materials, and assets) and locations. Moreover, the \textit{Resources} data models were chosen due to their definition of abstractly representing objects that are located on the shop floor. Accordingly, the mapping between \textit{functional unit}, \textit{Task}, and \textit{Resource} attributes can be summarized as follows. Input and output objects are mapped to the \textit{Resource} data models, as they can represent the \textit{state} of the objects (i.e., state change). Motion nodes are represented using the \textit{Task} data models, as they can specify which object is involved through the \textit{involves} property, and they can integrate the chain of events by using the \textit{isDefinedBy} property.

\section{WORK IN PROGRESS \label{sec:workinprogress}}

\subsection{Designing an Action Recognition Model}

The aim of action recognition is to identify the action presently being performed by a human demonstrator or worker, which can be useful for collaborative robot (cobot) scenarios, where a robot needs to assist the human in completing a joint goal or task.
For the time being, we plan to employ a deep neural network framework to process hand-object information extracted by a YOLO-based~\cite{redmon2016you} pipeline to recognize actions as functional units in our FOON representation.
From a functional unit, we will know which objects are being used and in which state(s) they may currently be in as it relates to the task. Afterwards, with this input information in the format of an object-to-object distance matrix, object-to-hand distance matrix, and image, we plan to recognize the actions by using a recurrent neural network due to the sequential nature of the activities in our use case. The pipeline can be visualized in Figure~\ref{fig:pipeline}.
\newline

\begin{figure}[!b]
    \centering
    \centering
    \def\linewidth{\linewidth}

    \graphicspath{{figures/}}

    \includegraphics[width=0.50\textwidth]{figures/pipeline.pdf}
    \caption{Pipeline for the action recognition model. Initially, the classified images are scaled down, and the distances between object to object and object to hands are calculated and inserted into a matrix. Secondly, with the initial state of the scene, this matrix is fed to the recurrent neural network as input, which predicts the \textit{Task} associated with it.}
    \label{fig:pipeline}
\end{figure}

\subsection{Connecting FOON to an Ontology}
As stated in Section~\ref{subsec:modellingoftheontology}, we are using the linked information models \textit{Task} and \textit{Resources}. These models have been created using the NGSI-LD \cite{EuropeanTelecommunicationsStandardizationInstitute.2020} specifications and have been integrated within the FIWARE\footnote{\url{https://www.fiware.org/}} open-source platform. Therefore, the connection between the activity recognition and the information models will be integrated through this framework. Once the predicted unit is estimated via action recognition, the following information is added to the linked model. First, the unit is created by a new \textit{Task} model. Second, the objects related to the \textit{Task} are added to \textit{involves} property. Third, the \textit{Task} attribute \textit{isDefinedBy} is updated with a sequential ID referring to the modelled FOON above. Finally, the object state is updated according to the perceived state through the attribute \textit{state} and the \textit{Task} with \textit{Resources} are published on the FIWARE context broker. This approach is described by Algorithm \ref{alg:FOON2ont}.

\begin{algorithm}
		\caption{Connection of the FOON to the ontology}
		\label{alg:FOON2ont}
		\begin{algorithmic}[1]
			\Procedure{FOON2ont}{$PredictedUnit$}
			\State $Resources = []$
			\State $Task = []$
		    \For {each object $obj$ in $PredictedUnit$}
		        \State $Resource[state] = obj[state]$
		        \State $Resources.append(Resource)$
		        \State $Task[involves] = obj[id]$
		    \EndFor
		    \State $Task[isDefinedby] = PredictedUnit[id]$
			\State publish($Task$)
			\State publish($Resources$)
			\EndProcedure
		\end{algorithmic}
\end{algorithm}

\subsection{Future Work}
Once we have established a basic connection between the FOON representation and the ontology via FIWARE, we will further investigate ways to construct new graphs for other types of parts and unseen tasks.
This can be achieved by treating object detection and motion recognition as separate pipelines. Moreover, a definition of the set of activities will follow in order to ensure a common representation of the set of activities both from the operator and the robotic system. This can be achieved by a common representation of the \textit{isDefinedBy}, which will point to a new entity \textit{Task Definition} with a pre-defined and explained vocabulary (e.g., JSON schema vocabulary\footnote{\url{https://json-schema.org/}}, SOMA ontology\footnote{\url{https://github.com/ease-crc/soma}}) of actions.

redpajama_set_name: RedPajamaArXiv


One-Stop-Consulting to Manage your Accounting and Taxation (Income Tax & GST) , Companies Act & R.O.C compliance and all other Legal and Statutory Compliances. We are a team of Chartered Accountants Company Secretary and Lawyers. We also undertake Managing your Accounting and Compliance work in your office.
Overseas Company Incorporation, Strategic Consulting etc.
The promoters of our organizations come from diverse background such as from IIT & IIM as well as Chartered Accountants, Lawyers. We are based in Mumbai (India) and having offices across most of the cities in India.
Previous Previous post: A GRADE DOES NOT MAKE YOUR CHILD.


text:
KuLett
Tony Hawk Net Worth 2020 Forbes
Net Worth / By KuLett
Tony Hawk Net Worth
In this post, we will be revealing the Net Worth of Tony Hawk, How Old Is Tony Hawk, and The Complete Bio of Tony Hawk also Hawk Wife and Kids- according to Wikipedia and Forbes Update.
So sit and read through as we reveal the Complete Biography of your favourite Celebrity and it current Height and Weight.
What Is Tony Hawk Net Worth?
Who Is Tony Hawk?
How Much Money Does Tony Hawk Make A Year?
How Did Tony Hawk Make His Money?
Biography Of Tony Hawk
Tony Hawk Career
Tony Hawk Family
Tony Hawk – Age, Height & Body Measurements
Who is Tony Hawk dating?
Is Tony Dead or Alive?
Tony Hawk Zodiac
Facts About Tony Hawk
Favourite Quotes from Tony Hawk
3 Strong Lessons from Tony Hawk
1. No One is Better Than You
2. Don't Keep Things Pinned Up Inside
3. Nothing is More Powerful Than Love
Currently, the famous American professional skateboarder, actor, and owner of skateboard company Birdhouse, Tony Hawk has an estimated Net Worth Of $150 Million Dollar as at 21/01/2021 KuLett And Forbes Updates.
Anthony "Tony" Frank Hawk is an American professional skateboarder, actor, and owner of skateboard company Birdhouse.
Tony Hawk is well known for completing the first documented 900 and for his licensed video game titles.
Tony Hawk estimated net worth is $150 million, which he earned through riding, sponsorships, acting, and running his own company. The 46-year-old America Skateboarder has a foundation that supports disadvantaged children and has helped build more than 400 skateparks
In fact, Tony Hawk has been a skating star since he turned pro at 14. He spent many of his teen years pulling in about $100,000 per year between prize money for winning competitions and company sponsorships (he skated for the Powell-Peralta skateboard company and did commercials for companies like Mountain Dew)
Anthony Frank Hawk was born on the 12th of May, 1968, in Carlsbad, California to Nancy and Frank Peter Rupert Hawk. Hawk had a huge interest in skateboarding from an early age.
Check Out: Bae Suzy Net Worth 2020 (Forbes)
In 1980, Hawk attended the Jean Farb Middle School and was also sponsored for skating. Due to his passion for skateboarding, he would keep stretching the barrier relentlessly.
Tony Hawk joined the legendary Bones Brigade team in 1982, which was into professional skateboarding. After joining the team Tony Hawk made several movie and television appearances since the beginning of his career.
The first one was in 1986 as a skater double for Josh Brolin in the movie Thrashin'.
Tony Hawk was the first skater to perform a "900", a trick involving the completion of two-and-a-half mid-air revolutions (900 degrees) on a skateboard. He performed the trick in 1999.
On KuLett, Tony Hawk is one of the successful skateboarders. He has ranked on the list of famous people who were born on May 12, 1968. He is one of the Richest Skateboarders who was born in CA. Tony Hawk also has a position among the list of Most popular skateboarders. Tony Hawk is 1 of the famous people in our database with the age of 52 years old
As at 21/01/2021, Tony Hawk has a Net Worth of estimate of $150 Million Dollar
Tony Hawk was married to Cindy Dunbar from 1990 to 1993 and Erin Lee from 1996 to 2004. In 2006, he married Lhotse Merriam. He has three sons, Riley, Keegan, and Spencer, and a daughter, Kadence. We don't have information about Tony Hawk's parent's names. Our team currently working, we will update Family, Sibling, Spouse, and Children's information. Right now, we don't have much information about Education Life.
Sep 20, 2008; Hossegor, FRANCE; Tony Hawk (USA) performs during the 2008 Quiksilver Pro France in Hossegor. Mandatory Credit: Luttiau/Presse Sports via US PRESSWIRE
Tony Hawk estimated Net Worth, Salary, Income, Cars, Lifestyles & many more details have been updated below. Let's check, How Rich is Tony Hawk in 2020-2021?
According to Wikipedia, Forbes, IMDb & Various Online resources, famous Skateboarder Tony Hawk's net worth is $150 Million at the age of 52 years old. He earned the money being a professional Skateboarder. Tony Hawk is from CA.
Tony Hawk Net Worth: $150 Million
Estimated Net Worth in 2020 $150 Million
Previous Year's Net Worth (2019) $149 Million
First Name Tony
Last Name Hawk
Profession Skateboarder
Birth Sign Taurus
Birth Date May 12, 1968
Birth Place Carlsbad, CA
Country Carlsbad, CA, United States
Annual Salary Under Review.
Income Source Primary Income source Skateboarder (profession).
Net Worth Verification Status Not Verified
Check Out: Parker Schnabel Net Worth 2020 Forbes
Currently, We don't have enough information about Cars, Monthly/Yearly Salary, etc. We will update you soon.
Tony Hawk currently ages 52 years old. Tony Hawk's height Unknown & weight Not Available right. Full body measurements, dress & shoe size will be updated soon.
There are usually many rumors surrounding your favorite celebrities. The most frequently asked questions are, is Tony Hawk single or dating with someone, which is then followed by who is Tony Hawk dating? We are here to clear up and debunk relationship stats, breakup & rumors surrounding Tony's love life.
We don't have much information about Tony Hawk's past relationship and any previous engaged. According to our Database, He has no children.
As per our current Database, Tony Hawk is still alive (as per Wikipedia, Last update: 21/01/2021).
Tony Hawk's zodiac sign is . is the astrological symbol and is the ruling house of . is the lucky day & is the lucky number for the peoples.
Tony Hawk's age 52 years old.
Birthday May 12, 1968.
Birth Sign Taurus.
He was nicknamed The Birdman for his aerial stunts and gained fame for becoming the first skater to successfully land a 900-degree spin out of a half pipe.
Calculating net worth: The most basic equation is subtracting your liabilities (everything you owe/debts) from your assets (everything you own). Your net worth is the amount by which your assets exceed any liabilities, and it's an accurate reflection of your financial health
Check Out: Jessica Alba Net Worth 2020 Forbes
"I believe that people should take pride in what they do, even if it is scorned or misunderstood by the public at large." – Tony Hawk
"My definition of success is doing what you love. I feel many people do things because they feel they have to and are hesitant to risk following their passion." – Tony Hawk
"The best advice I can give is to believe in yourself and to create new challenges no matter how far you get. Even if you think you earned it all or if you're considered the best in the world, keep challenging yourself because you're only as good as your last trick in the public's eye. But only do it because you love it. Don't do it because you think it's your ticket to fame or fortune. If that's the motivation and you reach any of those goals, you're not going to keep that passion." – Tony Hawk
"I feel like skateboarding is as much of a sport as a lifestyle, and an art form, so there's so much that that transcends in terms of music, fashion, and entertainment." – Tony Hawk
"I consider skateboarding an art form, a lifestyle and a sport. 'Action sport' would be the least offensive categorization." – Tony Hawk
Now that you know all about Tony Hawk's net worth, and how he achieved success; let's take a look at some of the strongest lessons we can learn from him:
Someone may have more power or be wealthier and live in a more expensive house, but they will never be better than you.
It's better to talk and let it all out, and cope with it AND heal it, otherwise it festers.
I should qualify that statement. Nothing is more powerful than unconditional love.
Hope the post answered your query on Tony Hawk Net Worth And Tony Hawk Bio And Net Worth Of Tony Hawk According to Forbes
Kindly comment if you have any suggestion or changes about Tony Hawk Net Worth
Average rating 5 / 5. Vote count: 9084
Hard Rock Nick Net Worth 2020 Forbes
Brian Johnson Net Worth 2020 Forbes
Blake Shelton Net Worth 2020 Forbes
Paul Pogba Net Worth 2020 Forbes
Jamie Oliver Net Worth 2020 Forbes
Copyright © 2021 KuLett | Powered by Foxy

redpajama_set_name: RedPajamaCommonCrawl


Jessica just wanted to learn English.
The 18-year-old lives in Belo Horizonte, Brazil, and met her fiancé, Kenny, 23, who lives in Belgium, on a language-learning website called SharedTalk. What began as a desire to speak a new language turned into a love story that spanned two countries, multiple languages and 9,000 kilometers.
Jessica and Kenny's blog "Love 9000km Away" details their relationship, which began in October 2011. They met after Kenny found her on the site and they began talking. Their relationship quickly blossomed to where they were "sleeping with the webcam on" and talking for "12 hours straight."
And on September 16, Kenny proposed to Jessica. But there's just one catch: the couple has never met in person.
Kenny will fly to Brazil to meet Jessica for the first time on October 31. Will their relationship last? It's certainly possible.
Jessica and Kenny aren't the first engaged couple to have met online but never in person. One couple met through playing the video game Halo online and kept their relationship going for five years before meeting face-to-face for the first time in March.
Technology has helped many couples connect in the digital age, and now there are even smartphone apps to help them stay connected. Click through the slideshow below to see six apps for long distance love.
Watch the video above to see Kenny's proposal to Jessica.


text:
The 12th Independent Spirit Awards, honoring the best in independent filmmaking for 1996, were announced on March 22, 1997.  It was hosted by Samuel L. Jackson.

Nominees and winners

{| class="wikitable"
!Best Feature
!Best Director
|-
|Fargo

Dead Man
The Funeral
Loved
Welcome to the Dollhouse
|Joel Coen – Fargo

Abel Ferrara – The Funeral
David O. Russell – Flirting with Disaster
Todd Solondz – Welcome to the Dollhouse
Robert M. Young – Caught
|-
!Best Male Lead
!Best Female Lead
|-
|William H. Macy – Fargo

Chris Cooper – Lone Star
Chris Penn – The Funeral
Tony Shalhoub – Big Night
Stanley Tucci – Big Night
|Frances McDormand – Fargo

María Conchita Alonso – Caught
Scarlett Johansson – Manny & Lo
Catherine Keener – Walking and Talking
Renée Zellweger – The Whole Wide World
|-
!Best Supporting Male
!Best Supporting Female
|-
|Benicio del Toro – Basquiat

Kevin Corrigan – Walking and Talking
Matthew Faber – Welcome to the Dollhouse
Gary Farmer – Dead Man
Richard Jenkins – Flirting with Disaster
|Elizabeth Peña – Lone Star

Mary Kay Place – Manny & Lo
Queen Latifah – Set It Off
Lili Taylor – Girls Town
Lily Tomlin – Flirting with Disaster
|-
!Best Screenplay
!Best First Screenplay
|-
|Fargo – Joel Coen and Ethan CoenDead Man – Jim Jarmusch
Flirting with Disaster – David O. Russell
The Funeral – Nicholas St. John
Lone Star – John Sayles
|Big Night – Joseph Tropiano and Stanley TucciGirl 6 – Suzan-Lori Parks
Manny & Lo – Lisa Krueger
Trees Lounge – Steve Buscemi
The Whole Wide World – Michael Scott Myers
|-
!Best First Feature
!Best Debut Performance
|-
|Sling Blade

Big Night
I Shot Andy Warhol
Manny & Lo
Trees Lounge
|Heather Matarazzo – Welcome to the Dollhouse

Jena Malone – Bastard Out of Carolina
Brendan Sexton III – Welcome to the Dollhouse
Arie Verveen – Caught
Jeffrey Wright – Basquiat
|-
!Best Cinematography
!Best Foreign Film
|-
|Fargo – Roger DeakinsBound – Bill Pope
Color of a Brisk and Leaping Day – Rob Sweeney
Dead Man – Robby Müller
The Funeral – Ken Kelsch
|Secrets & Lies • UKBreaking the Waves • Denmark
Chungking Express • Hong Kong
Lamerica • Italy
Trainspotting • UK
|}

 Films that received multiple nominations

 Films that won multiple awards

Special awards

Truer Than Fiction AwardWhen We Were Kings
The Celluloid Closet
Looking for Richard
Paradise Lost: The Child Murders at Robin Hood Hills
Troublesome Creek: A Midwestern

Someone to Watch Award
Larry Fessenden – Habit
Joe Brewster – The Keeper
Chris Smith – American Job

References

External links
1996 Spirit Awards at IMDb
The full show on Film Independent's official YouTube channel

1996
Independent Spirit Awards

redpajama_set_name: RedPajamaWikipedia


Jamaica is one of the most popular travel destination in the Caribbean, so beautiful and tranquil it is called "The Land of Wood and Water". Jamaica is know for the great hospitality the people offer, so much so that famous authors & artists such as Noel Coward and Errol Flynn made Jamaica their home.
Take time out to experience Jamaica's diverse culture, warmth of the people, rich historical heritage, the hypnotic beat of the reggae music, great Jamaica cuisine and lets not forget the great Jamaican Rum. Jamaica is also known for it's miles of golden sand beaches, tropical rain forest, beautiful flora & fauna and some of the best tour attractions in the Caribbean.


text:
Q: How do I properly log a Firebase analytics event with information entered in a textfield I've been looking at the docs and understand that to log an event such as when a user clicks on a button in Swift, you would enter something like
Analytics.logEvent("add", parameters: nil) and Analytics would count the number of times the button was pressed.
Is it possible to track the value someone enters into a textfield and Firebase or Google Analytics displays that information? This is where I don't know if I'm doing it right:
Analytics.logEvent("add_unit", parameters: ["unitAmount": Double])
If I wanted to track that someone entered 1.5 units, add_unit will count 1 and unitAmount should show 1.5 in my Events dashboard?
I've tried the above and Analytics did track the add_unit count but did not display the value in my Events.
TL:DR 1) Did I enter the parameters properly and 2) If it was entered properly, where on my Analytics page do I see the 1.5 value that was entered?

redpajama_set_name: RedPajamaStackExchange


text:
Apr 5 2023 Calls / Competitions /
ACSA: 2023 Steel Competition
The Association of Collegiate Schools of Architecture (ACSA) is pleased to announce the 23rd Annual Steel Design Student Competition for the 2022-2023 academic year.
Administered by the Association of Collegiate Schools of Architecture (ACSA) and sponsored by the American Institute of Steel Construction (AISC), the program is intended to challenge undergraduate and graduate students, working individually or in teams, to explore a variety of design issues related to the use of steel in design and construction. Steel must be used as the primary structural material and contain at least one space that requires long-span steel structure, with special emphasis placed on innovation in steel design.
The Opportunities
Spiritual Space and Open
The 2023 Steel Design Student Competition will offer architecture students the opportunity to compete in two separate categories:
Category I: Spiritual Space
Design "A Place for the Spirit" on a campus, welcoming to all, where members of the campus community and visitors can learn about and express spirituality. Program spaces include places for worship, meditation, learning, and fellowship. Steel is the primary material.
Category II: Open
Category II offers architecture students the opportunity to select a site and building program using steel as the primary material. This competition category permits the greatest amount of flexibility for any building type.
Students may not enter both categories of the competition.
Awards + Recognition
The design jury will meet in Summer 2023 to select winning projects and honorable mentions. Winners and their faculty sponsors will be notified of the competition results directly. A list of winning projects will be posted on the ACSA web site and the AISC web site at www.aisc.org. Winning students and their faculty sponsors will receive cash prizes totalling $20,000 with distribution as follows:
Student(s) Faculty Sponsor(s)
First Place $4,000 USD $1,500 USD
Second Place $2,000 USD $1,000 USD
Third Place $1,000 USD $500 USD
A limited number of honorable mentions may also be awarded at the jury's discretion. Prize-winning submissions will be exhibited at the 2024 ACSA Annual Meeting and the 2024 AIA National Convention as well as published in a competition summary publication.


The Participation Team seeks to open-up Parliament to the public. We reach out to communities and audiences across the UK, promoting understanding of the role and relevance of both Houses, encouraging people to get involved and empowering citizens to have a voice. We deliver the public engagement objectives of both the House of Commons and the House of Lords through a focus on achieving increased relevance and understanding of Parliament, active and engaged citizens, a UK wide presence and increased evidence of impact.
We are currently recruiting for a Business Support Assistant to join our team on a Fixed-term contract for 12 months. The successful candidate will provide administrative support to the Education and Engagement Service. This could involve communication with teachers and Members of Parliament, taking and processing bookings, data collection and processing with a focus on maintaining accurate relevant data, answering telephone and email queries, and supporting the Business Support Manager in the delivery of broader team support services.


text:
The Bad And The Beautiful (1952)
February 6, 2020 March 24, 2020 KWadsworth
The early 1950s seem to have been a self-reflective time for Hollywood; this is now the fourth movie since 1950 that's about moviemaking itself, coming after All About Eve, Sunset Boulevard and Singin' In The Rain. This time it's a profile of a producer who's been something of a bastard – but knows how to get great work done, to the professional benefit of those he's hurt.
We actually meet three of those people first – esteemed movie director Fred Amiel (Barry Sullivan) is hard at work shooting his latest picture, actress Georgia Lorrison (Lana Turner) is in her trailer studying her lines, and Pulitzer-winner James Lee Bartlow (Dick Powell) is drafting his latest screenplay. They are each interrupted by a phone call from someone named John Shields, and each of them seems to take great delight in blowing him off (Bartlow specifically asks if Shields is paying for the call; when assured he is, Bartlow says he'll accept the call, only to bellow "Drop Dead!" at Shields before slamming down the phone).
Nevertheless, the trio still drops by Shield's headquarters that evening, where Lorrison impishly etches some graffiti on the wall before they file into a meeting with Shield's second-in-command Harry Pebbel (Walter Pidgeon). Pebbel makes his pitch – all three of them had once worked with Shields, and all three were now Hollywood royalty. Shields himself had become something of a pariah, however; a reputation so tarnished that he can no longer get the funding for his next picture. However, if Amiel, Lorrison, and Bartlow were attached to the picture, it would attract more investors. Shields was hoping if, just this once, the three could set aside their respective grudges against Shields, and work with him once more? All three instantly refuse – prompting Pebbel to ask each one what the heck Shields had done to piss them off in the first place.
Their stories, in a series of flashbacks, make up most of the film and serve as our own introduction to Jonathan Shields (Kirk Douglas). Shields was the son of a silent-film producer, seeking to break into the business on his own. He meets Amiel in the B-movie "poverty row" trenches, working on low-budget horror fare like "Doom Of The Cat Men". At first they make a formidable team – Amiel has real talent as a director, but no talent for selling himself. Shields, however, has the attitude and skill for fast-talk needed to persuade studio heads to give them the budget, staff, and talent they need for their pictures – and the confidence needed to bring a passion project of Amiel's to the studio head.
Lorrison meets him a bit later, slumming as a bit-part extra and drinking away her money. But Lorrison's father was a silent-film star whom Shields idolized, and he's determined to give her a break – casting her in his latest picture, getting her off the booze, and giving her a crash-course in acting to catch her up. He also gives into a obvious crush she starts developing towards him. Bartlow's contact with Shields comes later still – he's a college history professor in Virginia who's written a popular historic-fiction novel, and Shields buys the film rights, luring Bartlow to Hollywood to write the screenplay. Bartlow's not interested – but Bartlow's wife Rosemary is, dazzled by the opportunity travel and meet the Hollywood cognoscenti. But when Rosemary (Gloria Grahame) keeps dragging Bartlow away from his typewriter to go sightseeing, Shields finally steps in, absconding with Shields to his own lake house – alone – so Bartlow can focus on his work. To keep Rosemary busy, he introduces her to Hollywood-Hunk "Gaucho" Ribera (Gilbert Roland), suggesting they start keeping company…
Each one of their stories ends with Shields double-crossing them in one way or another, leaving each with a very understandably dirty taste in their mouths. But Pebbel points out – in each case – that while Shields may have done their personal lives major damage, professionally they were doing pretty darn good, weren't they? So…maybe they could cut Shields some slack?
That's a bit that rubbed me the wrong way, actually. Shields is pretty unpleasant – selfish, conniving, and egotistical, both personally and professionally. The fact that the people Shields has wronged are now in better places doesn't justify what he did to them – in fact, they may be where they are despite Shields' influence. But that's part of what ultimately fascinated director Vincente Minnelli – he'd spent the previous year in Hollywood, just sort of poking around and exploring the studio culture. He noticed how the most power-hungry filmmakers were nevertheless inspired by a fervent love of film, and inspired both bitter hatred and high admiration, often from the same people.
He was also tickled by some of moviemaking's more ridiculous moments; one of my favorite scenes in The Bad And The Beautiful comes during a costume fitting for the "Doom Of The Cat Men" production, with a studio costumer trying to squeeze a team of burly extras into cheap size-small cat suits as Shields and Amiel dolefully look on.
The script and the film often dive into some of the nuts-and-bolts behind the artifice, managing to make things like delivering a print to a screening or having to set up camera angles not just credible, but interesting. The real nuts and bolts of this story, however, are still the three stories of discord between Shields and each of his previous collaborators – and their ultimate response to his invitation.
….This particular review comes with a sad footnote. I am writing this on February 6, 2020 – but I watched the film on February 5th of 2020, late that afternoon. I even had the fleeting thought halfway through that Kirk Douglas' son Michael looks uncannily like his father. Just a few minutes after the film ended, Michael Douglas made the public announcement that his father had just passed away, at the age of 103. The Movie Crash Course extends its sympathies to the Douglas family.
Previous postHigh Noon (1952)
Next postExtra Credit Reviews – 2020 Oscar Nominees Round 3


Perform lifting palletizing loading and unloading applications with this scissor cart featuring a 24" x 48" platform size and a load capacity of up to 1500 lbs.
The Vestil CART-24-15-DC DC Powered Scissor Cart is equipped with 2 rigid and 2 swivel 4" x 2" phenolic casters with brakes for safe and easy transport.
Service Range: 9-1/4" to 42-1/2"
Powered by an internal DC powered electric motor and a 12V battery.


text:
Q: Need to hide rows of a table depending on the permission I have a table that is being use to hold link and image buttons that link the user to other pages on a web site. I want to hide some of these rows depending on the permission the use has. Right now I have:
 // Disable buttons if user does not have admin security level
    if (Session["SecurityLevel"] != "A")
    {
        linkbtnNewEmployee.Visible = false;
        imgbtnNewEmployee.Visible = false;
        linkbtnViewUserActivity.Visible = false;
        imgbtnViewUserActivity.Visible = false;
        linkbtnEditEmployees.Visible = false;
        imgbtnEditEmployees.Visible = false;
        linkbtnManageUsers.Visible = false;
        imgbtnManageUsers.Visible = false;
    }

which will hide the links and buttons, but the table rows still exist. So I have a row or 2 of space between links. I have tried naming rows and using the "rowToHide.style.display = 'none';" command which does not work because it will not recognize the row. The row id shows up in the source code fine, and I use the same ID in the command. Any suggestions?  Thanks for your help!

A: In markup add an Id for the <tr> and runat="server" tag , like this:
<tr id="rowToHide" runat="server>
   <!-- Contents here -->
</tr>

And in the code set the visible property to false, like this:
// Disable buttons if user does not have admin security level
if (Session["SecurityLevel"] != "A")
{
    rowToHide.Visible = false;
    linkbtnNewEmployee.Visible = false;
    imgbtnNewEmployee.Visible = false;
    linkbtnViewUserActivity.Visible = false;
    imgbtnViewUserActivity.Visible = false;
    linkbtnEditEmployees.Visible = false;
    imgbtnEditEmployees.Visible = false;
    linkbtnManageUsers.Visible = false;
    imgbtnManageUsers.Visible = false;
}


text:
Q: "Group pressure" in Maven's dependency management I am experiencing a problem with Maven where the library com.google.guava is being referenced about half a dozen times across multiple layers of transitive dependencies in my project A. Almost all of those dependencies require the age-old version 18.0.
I have written another dependency B that is being used in project A as well.
This dependency directly depends on version 28.0 of com.google.guava, but Maven still chooses 18.0 over the much newer version.
Unless I explicitly include the newer version in all projects depending on B, the library will be nonfunctional due to NoMethodErrors and such. If I do so I will probably experience problems with all other libraries because of the new, binary incompatible version of the dependency.
Effectively, I am experiencing group pressure to use the old version of the dependency because everyone else does it.
Why would Maven not choose the newest version instead?
What can I do to convince Maven to use the newer version in all projects depending on B?
Is there a way to separate concerns and have all other dependencies actually use 18.0 while my dependency uses 28.0?
If just a slightly larger package size is the prize to pay for more modern libraries across the projects...
Maybe there is a possibility to hard-link a certain dependency version for my library B, so only my library uses the newer version?

A: In maven you can use <dependencyManagement>
With this tag you can explicitly tell maven which versions of dependencies you want your project to use.
For guava you can do something like:
<dependencyManagement>
    <dependencies>

        <dependency>
            <groupId>com.google.guava</groupId>
            <artifactId>guava</artifactId>
            <version>28.0</version>
        </dependency>

    ...
    </dependencies>
</dependencyManagement>

Then you can do someghing like:
    <dependencies>

        <dependency>
            <groupId>com.google.guava</groupId>
            <artifactId>guava</artifactId>
        </dependency>

    ...
    </dependencies>

This will force maven to use the guava 18 dependency


In cities like Brisbane and Sydney, shipping containers help solve a lot of the problems modern urban farmers face today. Innovators are repurposing containers into ideal hydroponic growing environments, making it easier to grow food without worrying about a volatile climate. At the same time, they are cutting down on food waste and transportation costs and pollution by producing food closer to consumers.
It's just one more way that out-of-the-box thinking with shipping containers help save both the environment, and an entire industry.
Climate change has brought with it plenty of weather extremes. Heat waves, droughts, and even simple changes to expected weather patterns can have a devastating impact on Australia's farmers. Instead of remaining vulnerable to less predictable weather, some in the agriculture industry, like third-generation farmer James Pateras, are turning to containerism and hydroponic farming.
Farmers can plant vertical gardens within shipping containers, which can be modified to include the right ventilation, lighting, hydration and growing spaces.
It's a brilliant use of shipping containers that goes beyond practical innovation. This is sustainability at its best. If weather patterns continue to change, causing more droughts, temperature fluctuations and other extremes, in the future more farmers could depend on containers in order to grow enough fresh produce to meet demand.
This trend is also a smart farming technique for urban growing. The use of shipping containers help farmers create modular, hydroponic farms close to urban centres. Being able to get food to consumers faster because of proximity means produce is fresher – less will have the chance to rot and go to waste.
Also, container growers use less fuel to transport their produce shorter distances, which means fewer CO2 emissions.
You may not decide to buy a used shipping container to create a backyard herb garden just yet, but this is one innovation you may want to watch. Every time you can buy local, or at least closer to home, you're making a positive impact on the environment whilst at the same time, supporting the agriculture industry's innovators who are looking for sustainable solutions that will benefit everyone. If you live in Brisbane, Melbourne, or other cities, find out if your local store or favourite restaurant sources any of their produce from any of Australia's rising container farmers.
Want to learn more about what can be done with shipping containers? Browse our modified shipping container projects or contact us to learn more.


text:
China, Singapore Plan Covid-19 'Bubble' for Essential Travel
FILE- Travelers wearing face masks wait in line at the Hainan Airlines check-in counters at Beijing Capital International Airport in Beijing, March 6, 2020.
Planes jetting between Singapore and China next week will be carrying some of the first passengers of the two nations' "Covid-19 travel "bubble." Before then flights linked to China were starting to become a political matter, as the nation took issue with places from the United States to Vietnam for canceling travel in the wake of the virus emergency.
A new world of travel
Passengers have to be sponsored by a government agency or a company and were able to start applying for the "fast lane" for essential travel on Monday, according to Singapore's trade and foreign ministries. Approval means residents can travel between China and Singapore without a quarantine if they test negative for the virus and follow other rules.
Flights had become yet another global flashpoint of the Covid-19 chaos, particularly in the already tense relations between the world's two biggest economies. The U.S. was like most nations that had suspended flights from China to curb the virus, but tensions escalated this month when both sides moved to restrict airlines from the other nation. Both sides have since eased up on the planned restrictions.
Signs of economic life
The joint decision by China and Singapore to allow some travel also eases up on virus-related limits. "It will be a long while before life returns to near normal, but we are beginning to see some light," the Singapore Minister of Transport Khaw Boon Wan said of the plan to increase flights, via a Facebook post. "However, recreational travel will have to take a back seat for now."
The limited flights are mostly meant for business and official travel. With the coronavirus spreading around the world from the start of the year, international travel has plummeted to near oblivion. However some nations that were able to curb the spread have struck agreements with their neighbors to form a "bubble" of limited travel without a quarantine, because of the lower risk of each other's citizens passing on the virus. Denmark and Norway have done that, for instance, as have Australia and New Zealand. Singapore, along with South Korea and Canada, are working with the latter two nations on opening up to further travel as well.
China heavily involved
The fast lane will allow for essential travel between Singapore and six cities in China: Shanghai, Guangdong, Tianjin, Chongqing, Jiangsu and Zhejiang. That could help facilitate business for companies such as LabMed, which produces personal and protective medical equipment in China and sends it to Singapore to be distributed to the rest of the world. The company has contracted out to GEODIS to handle logistics, a sector that has become more complicated with Covid-19.
"During the current pandemic, we are even more intimately involved in the business of local customers who partner with us," Rene Bach-Larsen, the managing director for the Southeast Asian subregion at GEODIS, said. "As an essential service, we continue to fast track their growth, using for instance, specially arranged weekly scheduled flights to many destinations."
Help for the economy
While some Singaporeans question whether the fast lane is a safe public health decision, the increased business travel is expected to aid the economic recovery in China and Singapore. China's gross domestic product contracted 6.8% in the first quarter of the year because of Covid-19, marking the first contraction in about three decades. Singapore forecast GDP would contract between 4% and 7% in 2020, the worst the economy will have seen in more than half a century.
To take advantage of the travel bubble, passengers have to apply to their respective governments and, if approved, pay for and pass the coronavirus test twice - before departure and after landing. They will then be allowed to travel on an approved itinerary but will not have to quarantine for two weeks, as is common in other nations.


text:
app.indexeddb = {};

document.addEventListener("DOMContentLoaded", function(){
  if("indexedDB" in window) {
    console.log("initialized:indexeddb");
  } else {
    console.log("failed:indexeddb");
  }
},false);

redpajama_set_name: RedPajamaGithub


text:
Kazmir goes to A's ahead of tender deadline
SportsMLB
PUBLISHED: December 3, 2013 at 6:51 a.m. | UPDATED: September 24, 2021 at 6:34 a.m.
NEW YORK – As Scott Kazmir and Willie Bloomquist found new teams and other big-money free agents negotiated, dozens of players with lower profiles waited to find out whether they would be dumped on the market by their clubs Monday night.
Teams had until midnight to offer 2014 contracts to unsigned players on their 40-man rosters. Once a player receives a contract offer, his team no longer can release him before the start of the season without giving him termination pay. That means a club would be responsible for about one-sixth of the salary, which could be a large amount if the player is eligible for arbitration.
Clubs often use the so-called tender deadline as leverage to force agreements with players they won't go to arbitration with. Among the players let loose were Boston right-hander Andrew Bailey and outfielder Ryan Kalish, Mets right-hander Jeremy Hefner and Kansas City infielder Chris Getz.
There were a pair of trades as the deadline approached. Washington obtained right-hander Doug Fister from Detroit for infielder Steve Lombardozzi and left-handers Robbie Ray and Ian Krol. Fister was 14-9 with a 3.67 ERA last season for the AL Central champions, who last month traded slugging first baseman Prince Fielder to Texas for second baseman Ian Kinsler and appear to be opening payroll space to get pitcher Max Scherzer a long-term deal.
Fister joins a talented Nationals rotation that already includes Stephen Strasburg, Jordan Zimmermann and Gio Gonzalez.
With an excess of catching after reaching an agreement to sign Brian McCann, the New York Yankees traded Chris Stewart to Pittsburgh for a player to be named. The Yankees also finalized a $5 million, two-year contract with shortstop Brendan Ryan, who became their starter in September when Derek Jeter went back on the disabled list.
Kazmir was closing in on a $22 million, two-year contract with Oakland. The deal is pending a physical, a person said, speaking of anonymity because the team hadn't finalized the deal. The 29-year-old left-hander went 10-9 with a 4.04 ERA in 29 starts and 158 innings last season for Cleveland and becomes part of a rotation that includes Sonny Gray and A.J. Griffin. The Athletics probably won't pursue a new deal for 40-year-old Bartolo Colon, an 18-game winner.
Bloomquist agreed to return to Seattle pending a physical expected to take place later this week, a deal baseball official with knowledge of the deal said, also speaking on condition of anonymity because the deal wasn't final. Bloomquist spent his first seven big league seasons with Seattle and the past three with Arizona. He hit .317 for the Diamondbacks this year but had just 139 at-bats.
Catcher Dioner Navarro agreed to an $8 million, two-year contract with Toronto that pays $3 million next year and $5 million in 2016. The 29-year-old batted .300 with a career-high 13 homers and 34 RBIs in 89 games for the Chicago Cubs last season. An All-Star in 2008, he has not played more than 89 games in a season since 2009 because of injuries.
Among players eligible for arbitration getting one-year deals were Chicago White Sox catcher Tyler Flowers ($950,000), Detroit outfielder Don Kelly and Cleveland right-handers Frank Herrmann and Blake Wood. In agreements announced Friday, the Los Angeles Dodgers reached deals with outfielder Mike Baxter and catcher Drew Butera ($700,000 each) and left-hander Scott Elbert ($575,000).
Hurts has Howie's nod to carry on as Eagles' No. 1 quarterback
Eagles look toward future filled with roster moves
Union reward Jack Elliott with contract extension
Kevin Hayes' absence leaves Flyers thinner in the middle


Vizrt provided an end-to-end customized workflow on one platform to easily control content for videowalls, on-air graphics, and AR graphics.
Discovery Norway wanted to bring a new experience to fans of the Winter Games as well as fans of the Norwegian Football League. To accomplish this, in 2018, Discovery Norway moved into a new studio and looked for ways to upgrade their production systems to give them a unified workflow driven from one platform with more versatility for visual storytelling and building their own brand. Vizrt fitted perfectly into this requirement with solutions that easily work hand in hand to create a fully integrated workflow.
"They (Discovery Norway) wanted a new, fresh, modern studio, with a seamless workflow, meaning they can combine their augmented reality (AR) graphics, on screen graphics, and all the graphics on the many screens in the studio and use one platform to achieve this," said Thomas Nelson, Global Account Manager at Vizrt.
Discovery's team of Vizrt experts have the time and capabilities to explore possibilities and push themselves further with new ideas to bring the match in the studio closer to the viewers. They also use Viz Libero to add an expert-level of analysis to the games.
"I like to play with AR graphics, exploring the possibilities. They help us do a better show," added Espen Tvedt.
"It's a very powerful tool to have the graphics, you don't have to say that the guy behind you has 200 league goals or that he is 25 years old, because it says so on the graphics. It helps us, to narrow the story down," said Carsten Skjelbreid, Chief Sports Presenter at Discovery Networks Norway.


text:
package vtgate

import (
	"flag"
	"fmt"
	"math/rand"
	"strings"
	"time"

	"golang.org/x/net/context"

	"github.com/youtube/vitess/go/sqltypes"
	"github.com/youtube/vitess/go/stats"
	"github.com/youtube/vitess/go/vt/discovery"
	topodatapb "github.com/youtube/vitess/go/vt/proto/topodata"
	"github.com/youtube/vitess/go/vt/proto/vtrpc"
	tproto "github.com/youtube/vitess/go/vt/tabletserver/proto"
	"github.com/youtube/vitess/go/vt/tabletserver/tabletconn"
	"github.com/youtube/vitess/go/vt/topo"
	"github.com/youtube/vitess/go/vt/vterrors"
)

var (
	cellsToWatch        = flag.String("cells_to_watch", "", "comma-separated list of cells for watching endpoints")
	refreshInterval     = flag.Duration("endpoint_refresh_interval", 1*time.Minute, "endpoint refresh interval")
	topoReadConcurrency = flag.Int("topo_read_concurrency", 32, "concurrent topo reads")
)

const gatewayImplementationDiscovery = "discoverygateway"

func init() {
	RegisterGatewayCreator(gatewayImplementationDiscovery, createDiscoveryGateway)
}

func createDiscoveryGateway(hc discovery.HealthCheck, topoServer topo.Server, serv SrvTopoServer, cell string, retryDelay time.Duration, retryCount int, connTimeoutTotal, connTimeoutPerConn, connLife time.Duration, connTimings *stats.MultiTimings) Gateway {
	return &discoveryGateway{
		hc:              hc,
		topoServer:      topoServer,
		localCell:       cell,
		retryCount:      retryCount,
		tabletsWatchers: make([]*discovery.TopologyWatcher, 0, 1),
	}
}

type discoveryGateway struct {
	hc         discovery.HealthCheck
	topoServer topo.Server
	localCell  string
	retryCount int

	tabletsWatchers []*discovery.TopologyWatcher
}

// InitializeConnections creates connections to VTTablets.
func (dg *discoveryGateway) InitializeConnections(ctx context.Context) error {
	dg.hc.SetListener(dg)
	for _, cell := range strings.Split(*cellsToWatch, ",") {
		ctw := discovery.NewCellTabletsWatcher(dg.topoServer, dg.hc, cell, *refreshInterval, *topoReadConcurrency)
		dg.tabletsWatchers = append(dg.tabletsWatchers, ctw)
	}
	return nil
}

// Execute executes the non-streaming query for the specified keyspace, shard, and tablet type.
func (dg *discoveryGateway) Execute(ctx context.Context, keyspace, shard string, tabletType topodatapb.TabletType, query string, bindVars map[string]interface{}, transactionID int64) (qr *sqltypes.Result, err error) {
	err = dg.withRetry(ctx, keyspace, shard, tabletType, func(conn tabletconn.TabletConn) error {
		var innerErr error
		qr, innerErr = conn.Execute2(ctx, query, bindVars, transactionID)
		return innerErr
	}, transactionID, false)
	return qr, err
}

// ExecuteBatch executes a group of queries for the specified keyspace, shard, and tablet type.
func (dg *discoveryGateway) ExecuteBatch(ctx context.Context, keyspace, shard string, tabletType topodatapb.TabletType, queries []tproto.BoundQuery, asTransaction bool, transactionID int64) (qrs *tproto.QueryResultList, err error) {
	err = dg.withRetry(ctx, keyspace, shard, tabletType, func(conn tabletconn.TabletConn) error {
		var innerErr error
		qrs, innerErr = conn.ExecuteBatch2(ctx, queries, asTransaction, transactionID)
		return innerErr
	}, transactionID, false)
	return qrs, err
}

// StreamExecute executes a streaming query for the specified keyspace, shard, and tablet type.
func (dg *discoveryGateway) StreamExecute(ctx context.Context, keyspace, shard string, tabletType topodatapb.TabletType, query string, bindVars map[string]interface{}, transactionID int64) (<-chan *sqltypes.Result, tabletconn.ErrFunc) {
	var usedConn tabletconn.TabletConn
	var erFunc tabletconn.ErrFunc
	var results <-chan *sqltypes.Result
	err := dg.withRetry(ctx, keyspace, shard, tabletType, func(conn tabletconn.TabletConn) error {
		var err error
		results, erFunc, err = conn.StreamExecute2(ctx, query, bindVars, transactionID)
		usedConn = conn
		return err
	}, transactionID, true)
	if err != nil {
		return results, func() error { return err }
	}
	inTransaction := (transactionID != 0)
	return results, func() error {
		return WrapError(erFunc(), keyspace, shard, tabletType, usedConn.EndPoint(), inTransaction)
	}
}

// Begin starts a transaction for the specified keyspace, shard, and tablet type.
// It returns the transaction ID.
func (dg *discoveryGateway) Begin(ctx context.Context, keyspace string, shard string, tabletType topodatapb.TabletType) (transactionID int64, err error) {
	err = dg.withRetry(ctx, keyspace, shard, tabletType, func(conn tabletconn.TabletConn) error {
		var innerErr error
		transactionID, innerErr = conn.Begin2(ctx)
		return innerErr
	}, 0, false)
	return transactionID, err
}

// Commit commits the current transaction for the specified keyspace, shard, and tablet type.
func (dg *discoveryGateway) Commit(ctx context.Context, keyspace, shard string, tabletType topodatapb.TabletType, transactionID int64) error {
	return dg.withRetry(ctx, keyspace, shard, tabletType, func(conn tabletconn.TabletConn) error {
		return conn.Commit2(ctx, transactionID)
	}, transactionID, false)
}

// Rollback rolls back the current transaction for the specified keyspace, shard, and tablet type.
func (dg *discoveryGateway) Rollback(ctx context.Context, keyspace, shard string, tabletType topodatapb.TabletType, transactionID int64) error {
	return dg.withRetry(ctx, keyspace, shard, tabletType, func(conn tabletconn.TabletConn) error {
		return conn.Rollback2(ctx, transactionID)
	}, transactionID, false)
}

// SplitQuery splits a query into sub-queries for the specified keyspace, shard, and tablet type.
func (dg *discoveryGateway) SplitQuery(ctx context.Context, keyspace, shard string, tabletType topodatapb.TabletType, sql string, bindVariables map[string]interface{}, splitColumn string, splitCount int) (queries []tproto.QuerySplit, err error) {
	err = dg.withRetry(ctx, keyspace, shard, tabletType, func(conn tabletconn.TabletConn) error {
		var innerErr error
		queries, innerErr = conn.SplitQuery(ctx, tproto.BoundQuery{
			Sql:           sql,
			BindVariables: bindVariables,
		}, splitColumn, splitCount)
		return innerErr
	}, 0, false)
	return
}

// Close shuts down underlying connections.
func (dg *discoveryGateway) Close(ctx context.Context) error {
	for _, ctw := range dg.tabletsWatchers {
		ctw.Stop()
	}
	return nil
}

// StatsUpdate receives updates about target and realtime stats changes.
func (dg *discoveryGateway) StatsUpdate(*discovery.EndPointStats) {
}

// withRetry gets available connections and executes the action. If there are retryable errors,
// it retries retryCount times before failing. It does not retry if the connection is in
// the middle of a transaction. While returning the error check if it maybe a result of
// a resharding event, and set the re-resolve bit and let the upper layers
// re-resolve and retry.
func (dg *discoveryGateway) withRetry(ctx context.Context, keyspace, shard string, tabletType topodatapb.TabletType, action func(conn tabletconn.TabletConn) error, transactionID int64, isStreaming bool) error {
	var endPointLastUsed *topodatapb.EndPoint
	var err error
	inTransaction := (transactionID != 0)
	invalidEndPoints := make(map[string]bool)

	for i := 0; i < dg.retryCount+1; i++ {
		var endPoint *topodatapb.EndPoint
		endPoints := dg.getEndPoints(keyspace, shard, tabletType)
		if len(endPoints) == 0 {
			// fail fast if there is no endpoint
			err = vterrors.FromError(vtrpc.ErrorCode_INTERNAL_ERROR, fmt.Errorf("no valid endpoint"))
			break
		}
		shuffleEndPoints(endPoints)

		// skip endpoints we tried before
		for _, ep := range endPoints {
			if _, ok := invalidEndPoints[discovery.EndPointToMapKey(ep)]; !ok {
				endPoint = ep
				break
			}
		}
		if endPoint == nil {
			if err == nil {
				// do not override error from last attempt.
				err = vterrors.FromError(vtrpc.ErrorCode_INTERNAL_ERROR, fmt.Errorf("no available connection"))
			}
			break
		}

		// execute
		endPointLastUsed = endPoint
		conn := dg.hc.GetConnection(endPoint)
		if conn == nil {
			err = vterrors.FromError(vtrpc.ErrorCode_INTERNAL_ERROR, fmt.Errorf("no connection for %+v", endPoint))
			invalidEndPoints[discovery.EndPointToMapKey(endPoint)] = true
			continue
		}
		err = action(conn)
		if dg.canRetry(ctx, err, transactionID, isStreaming) {
			invalidEndPoints[discovery.EndPointToMapKey(endPoint)] = true
			continue
		}
		break
	}
	return WrapError(err, keyspace, shard, tabletType, endPointLastUsed, inTransaction)
}

// canRetry determines whether a query can be retried or not.
// OperationalErrors like retry/fatal are retryable if query is not in a txn.
// All other errors are non-retryable.
func (dg *discoveryGateway) canRetry(ctx context.Context, err error, transactionID int64, isStreaming bool) bool {
	if err == nil {
		return false
	}
	// Do not retry if ctx.Done() is closed.
	select {
	case <-ctx.Done():
		return false
	default:
	}
	if serverError, ok := err.(*tabletconn.ServerError); ok {
		switch serverError.Code {
		case tabletconn.ERR_FATAL:
			// Do not retry on fatal error for streaming query.
			// For streaming query, vttablet sends:
			// - RETRY, if streaming is not started yet;
			// - FATAL, if streaming is broken halfway.
			// For non-streaming query, handle as ERR_RETRY.
			if isStreaming {
				return false
			}
			fallthrough
		case tabletconn.ERR_RETRY:
			// Retry on RETRY and FATAL if not in a transaction.
			inTransaction := (transactionID != 0)
			return !inTransaction
		default:
			// Not retry for TX_POOL_FULL and normal server errors.
			return false
		}
	}
	// Do not retry on operational error.
	return false
}

func shuffleEndPoints(endPoints []*topodatapb.EndPoint) {
	index := 0
	length := len(endPoints)
	for i := length - 1; i > 0; i-- {
		index = rand.Intn(i + 1)
		endPoints[i], endPoints[index] = endPoints[index], endPoints[i]
	}
}

// getEndPoints gets all available endpoints from HealthCheck,
// and selects the usable ones based several rules:
// master - return one from any cells with latest reparent timestamp;
// replica - return all from local cell.
// TODO(liang): select replica by replication lag.
func (dg *discoveryGateway) getEndPoints(keyspace, shard string, tabletType topodatapb.TabletType) []*topodatapb.EndPoint {
	epsList := dg.hc.GetEndPointStatsFromTarget(keyspace, shard, tabletType)
	// for master, use any cells and return the one with max reparent timestamp.
	if tabletType == topodatapb.TabletType_MASTER {
		var maxTimestamp int64
		var ep *topodatapb.EndPoint
		for _, eps := range epsList {
			if eps.LastError != nil || !eps.Serving {
				continue
			}
			if eps.TabletExternallyReparentedTimestamp >= maxTimestamp {
				maxTimestamp = eps.TabletExternallyReparentedTimestamp
				ep = eps.EndPoint
			}
		}
		if ep == nil {
			return nil
		}
		return []*topodatapb.EndPoint{ep}
	}
	// for non-master, use only endpoints from local cell and filter by replication lag.
	list := make([]*discovery.EndPointStats, 0, len(epsList))
	for _, eps := range epsList {
		if eps.LastError != nil || !eps.Serving {
			continue
		}
		if dg.localCell != eps.Cell {
			continue
		}
		list = append(list, eps)
	}
	list = discovery.FilterByReplicationLag(list)
	epList := make([]*topodatapb.EndPoint, 0, len(list))
	for _, eps := range list {
		epList = append(epList, eps.EndPoint)
	}
	return epList
}

// WrapError returns ShardConnError which preserves the original error code if possible,
// adds the connection context
// and adds a bit to determine whether the keyspace/shard needs to be
// re-resolved for a potential sharding event.
func WrapError(in error, keyspace, shard string, tabletType topodatapb.TabletType, endPoint *topodatapb.EndPoint, inTransaction bool) (wrapped error) {
	if in == nil {
		return nil
	}
	shardIdentifier := fmt.Sprintf("%s.%s.%s, %+v", keyspace, shard, strings.ToLower(tabletType.String()), endPoint)
	code := tabletconn.ERR_NORMAL
	serverError, ok := in.(*tabletconn.ServerError)
	if ok {
		code = serverError.Code
	}

	shardConnErr := &ShardConnError{
		Code:            code,
		ShardIdentifier: shardIdentifier,
		InTransaction:   inTransaction,
		Err:             in,
		EndPointCode:    vterrors.RecoverVtErrorCode(in),
	}
	return shardConnErr
}


text:
"Oceans" is a song by the American rock band Pearl Jam. Featuring lyrics written by vocalist Eddie Vedder and music co-written by Vedder, guitarist Stone Gossard, and bassist Jeff Ament, "Oceans" was released in 1992 as the fourth single from the band's debut album, Ten (1991). Remixed versions of the song can be found on the "Even Flow" single and the 2009 Ten reissue.

Origin and recording
"Oceans" features lyrics written by vocalist Eddie Vedder and music co-written by Vedder, guitarist Stone Gossard, and bassist Jeff Ament. Vedder on the song:
I remember for "Oceans", someone asked me to put change in the parking meter for them. I went and did that and then I came back and was locked out. It was drizzling and I wasn't dressed for an outing in the rain. I had a scrap of paper and a pen in my pocket, and they were playing this song [inside]. All I could hear was the bass coming through the wall, this window that was boarded up. So I wrote the song to the bass. I wasn't even listening to hear the song at first. When I heard a break, I'd start pounding on the door...trying to get out of the rain. So as I was doing that, I thought, fuck it, I might as well write something.

Gossard on the song:
We wrote it, we played it and Ed sang it, which is another thing that he does. I'd never seen anyone engage with song writing the same way. Here's the song, let me play it for you. It goes like this. Okay, theres a change here, let's do it and he would sing it. I'd hear the melodies and I'd think, okay, he's gonna write words or whatever and then I realized later that he actually had written the words right there. I couldn't understand how somebody could do that. Since then I've met a lot of people that can do it so it was an eye opener but he does it better than anyone I've ever seen do it.

Drummer Dave Krusen on the song:
We originally tracked drum kit on that song. Then I added three tympani parts. I remember we were all in the control room listening to the tympani part with the drums muted. Someone commented how cool it sounded like that, so we kept it that way. I'm glad we did.

When the band joined the album's mixer, Tim Palmer, in June 1991 in Dorking, England for mixing, Palmer overdubbed a pepper shaker and a fire extinguisher as percussion on the track. Palmer said, "The reason I used those items was purely because we were so far from a music rental shop and necessity became the mother of invention."

Composition
"Oceans" was performed in open D tuning. The song is musically and texturally different from the rest of the album. Ament said, "When we were picking songs for Ten we thought it was important to pick the weirder moments, like "Oceans", because we wanted to be able to explore those areas down the line."

Gossard on the song:
I love "Oceans". That probably sums up why I get excited about song writing. It's like open D tuning where the first chord's just straight across and it's just two fingers that come on and off to create the whole thing and then it moves down one position and it moves back up. It has a tiny little change in it but it's also got three big movements. What I love about music is aesthetic chords; the simpler the better and then another set that does something to those original chords. It's a really simple arrangement.

Lyrics
"Oceans" was inspired by Vedder's affinity for surfing. Following Pearl Jam's performance of the song at the band's 1992 MTV Unplugged performance, Vedder stated, "[that was] a little love song I wrote about my surfboard... Actually it was to someone named Beth who hopefully I'll see tomorrow."

Release and reception
While the "Oceans" single was released commercially to international markets in 1992, the commercial single was not released in the United States until June 27, 1995 and was only available as a more expensive import version beforehand. Outside the United States, the single for "Oceans" was released commercially in Australia, Austria, and the United Kingdom. "Oceans" reached the top 30 in the Netherlands and was a moderate top 20 success in New Zealand.

In March 2009, "Oceans" was made available as downloadable content for the Rock Band series as a master track as part of the album Ten. The drum kit which was originally tracked by Dave Krusen was included on this release.

Music video
The music video for "Oceans" was directed by Josh Taft, who had previously directed the "Alive" and "Even Flow" music videos for the band. The video was filmed in Hawaii in September 1992. The black-and-white video features scenes of the band members and other people in Hawaii, including Vedder surfing, Gossard driving, people swimming and running, and small planes flying. It also features performance footage of the band filmed in Maui, Hawaii at War Memorial Gymnasium. The video was only released to areas outside of the United States in late 1992. The video was not released in the United States as the band felt Ten was already too big. The video clip for "Oceans" can be found on the Touring Band 2000 DVD as one of the Special Features.

Live performances
"Oceans" was first performed live at the band's May 17, 1991 concert in Seattle, Washington at the Off Ramp Café. Pearl Jam performed the song for their appearance on MTV Unplugged in 1992; however, this performance of the song was not aired when the show was first broadcast on MTV. Live performances of "Oceans" can be found on various official bootlegs and the live album Live in NYC 12/31/92. A performance of the song is also included on the MTV Unplugged DVD included in the Ten reissue.

Personnel
Eddie Vedder – vocals
Mike McCready – lead guitar
Stone Gossard – rhythm guitar
Jeff Ament – bass guitar
Dave Krusen – drums
Tim Palmer – fire extinguisher and pepper shaker

Track listing

"Oceans" (Gossard, Ament, Vedder) – 2:44
"Why Go" (live) (Ament, Vedder) – 3:30
"Deep" (live) (Gossard, Ament, Vedder) – 4:24
"Alive" (live) (Gossard, Vedder) – 5:46
Live tracks recorded by VARA Radio on June 8, 1992 at Pinkpop Festival in the Netherlands.

Chart positions

References

External links

Lyrics at pearljam.com

1991 songs
1992 singles
Black-and-white music videos
Pearl Jam songs
Songs about oceans and seas
Songs written by Eddie Vedder
Songs written by Stone Gossard
Songs written by Jeff Ament
Song recordings produced by Eddie Vedder
Song recordings produced by Stone Gossard
Song recordings produced by Jeff Ament
Song recordings produced by Mike McCready
Song recordings produced by Dave Krusen
Song recordings produced by Rick Parashar
Epic Records singles


text:
Guest Blog: Person-led #SystemChange, pt. 1
Over a period of 8 years, Mayday has transformed from a fairly traditional, medium sized supported housing charity, to a U.K. wide influencer for systemic change. Through open, honest conversations, and developing trusted relationships, it has become an organisation where the work and future plans are direct by people themselves – not simply set in the board room.
Pat McArdle, CEO of Mayday Trust, reflects on the challenging lessons they've learnt on the way, the failures of the system as it stands, and how we must collectively create the kind of #SystemChange that ensures that a tough time in a person's life does not become a life-sentence.
Part one focuses on the problem of homeless identity, and the potential pitfalls of popular homeless involvement strategies:
Why Mayday doesn't do 'service user involvement strategies' but instead models a 'person-led' approach!
In 2012 Mayday did what we have never ever done before; we really listened to people and deeply reflected upon what people had to say.
What we heard was so powerful it couldn't be ignored and as a result we radically transformed every aspect of our organisation. This included what we did, our thinking, our behaviours, our culture, our mission, our structures, processes, and our whole approach. When we listened to people, we didn't ask what their needs were, about their past experiences or what they wanted in the future. We simply asked people what they thought of homelessness services and then… we just listened.
Mayday moved away from setting strategy exclusively in the Board room with a SWOT analysis and external environmental scan, and became an organisation where the work and future plans were directed by people themselves. People we worked with defined the problem and our challenge was to respond effectively.
In modelling what we hope is a futuristic 'person led' approach, we continue to learn and adapt and evolve ways that we can dynamically embed live time feedback from the people we are working with.
Here are some of the challenging lessons that we have learnt along the way:
Homeless identity
The current U.K. deficit informed support system can have a significant, negative, psychological impact on individuals who go through it.
Individuals' identity, status, connections, everyday routine and familiarity is often all WITHIN professional services and outside of their communities. When people are 'moved on' from supported housing into independent living, there is a huge psychological leap that is rarely considered when people go from the artificial environment of institutional accommodation and support, to real world community based living.
The constant focus on needs and finding solutions to fix identified problems has perversely created a psychological dependency on services and many people have become institutionalised within the system. Those who try to maintain any level of control or dignity describe being 'beaten down' or labelled 'trouble makers' by an inflexible system.
The main narrative within professional settings is still around 'clients', 'our people', 'people with multiple and complex needs', 'people with severe and multiple disadvantage'. So much so that people themselves have started to see, define themselves, internalise as 'a problematic or helpless, hopeless homeless client'; a far cry from recognising, let alone utilising the significant capabilities that people have and away from the strength based approaches that we know work better with people going through these tough times.
This psychological dependency and systemic damage to individuals has mainly remained unseen and the alarming extent of this has not, as yet, been commonly recognised within the homeless and supported housing sectors in the UK. We do not see the problem as the system and us within it but focus all our energy in introducing new ways to work better with people.
There has however, been a growing focus on discussions around 'othering' and how the 'us and them' culture has negatively impacted on people's ability to reintegrate back into communities which we welcome.
Homeless involvement strategies or involving people with 'lived experience'.
Further exasperating this problem of the 'homeless identity' is the presence of service user involvement strategies and the growing commitment of involving people with 'lived experience' in activities ranging from Board representation, involvement in staff recruitment, policy evaluation and service evaluation and design.
Effective 'engagement' has always been problematic as well as a common topic of debate. From our experience, most of these approaches have felt uncomfortable and/or tokenistic and have often resulted in the loudest voices being heard, or a single person representing the views of diverse people who are not a homogenous group.
We have therefore seen, upon closer reflection, these now common approaches to involving people remain a significant systemic issue and often results in the benefits swaying toward the organisations and professionals, inadvertently bringing about further harm and deepening the institutionalisation and reinforcing the 'homeless personae' of people using the services.
In one of the city's we work, we talked to someone who had their own flat but travelled back to the hostel every week for a chess club. This sounds positive in terms of friendship and connection but introducing someone to their local chess club can transform and sustain a new identify away from support services which is what we all want. Homelessness should be a brief transition in someone's life so doing all we can not to trap people is key.
Next week, Pat's #SystemChange guest blog will look at the benefits of 'intelligent listening' to move away from a system that, in defining a person by an assumed problem, can do more harm than good. Pat McArdle, CEO of the Mayday Trust, has been passionately working to tackle homelessness in the UK and Ireland for over 25 years.
Prior to joining Mayday in 2011, Pat worked for organisations including HARP, Cork Simon Community, Foyer Federation and YWCA England & Wales where she managed and developed a range of homelessness services, day centres, wet provision for drinkers, supported accommodation and hostels. Her passions and specialisms include drug and alcohol support, mental health, youth homelessness and working with women.


text:
import { describe, it, beforeEach } from 'mocha';
import { setupTest } from 'ember-mocha';
import { setupPact, given, getProvider, interaction } from 'ember-cli-pact';
import { assert } from 'chai';

describe('Pact | Departments', function() {
  setupTest({ integration: true });
  setupPact({
    providerName: 'departments-server'
  });

  beforeEach(function() {
    given('a department exists', { id: '1', name: 'People' });
    given('a department exists', { id: '2', name: 'Admin' });

    getProvider().beforeUpload((interaction) => {
      delete interaction.request.headers['X-Requested-With'];
    });
  });

  it('listing departments', async function() {
    let departments = await interaction(() => this.store().findAll('department'));

    assert.deepEqual([...departments.mapBy('id')], ['1', '2']);
    assert.deepEqual([...departments.mapBy('name')], ['People', 'Admin']);
  });
});


text:
You Are Here: Home → 2008 → December → 20 → Migrant Workers Shall Suffer the Brunt of the Globalization-induced Crisis
Migrant Workers Shall Suffer the Brunt of the Globalization-induced Crisis
Ronalyn V. Olea December 20, 2008 International Migrants Alliance, International Migrants Day
BY THE INTERNATIONAL MIGRANTS ALLIANCE
Posted by Bulatlat
Neo-liberal globalization has forced us to migrate and become commodities for sale by sending countries and cheap laborers for the receiving ones. Now, as neoliberal policies induced another global recession, we are again made to carry the brunt of the crisis.
Slowly but surely, the crisis that started in the United States is spreading throughout the world. Considering the US' position as the global economic master, it is understandable that many of the countries where migrants are working right now and countries where they come from are starting to feel the impacts of the crisis that is expected to intensify in the coming months.
The current recession is but an explosion of the crisis brewing for years. The crisis of overproduction inherent in the economy of the global centers–US, European Union and Japan–and hastened by neoliberal globalization policies, has become more uncontrollable than before. Concentration of finance capital through massive speculation has become more intense and made the crisis imminent.
Even the wars of aggression and occupation that the US led and joined in by many capitalist countries have failed to salvage the capitalist system from collapsing. In fact, these wars justified in the name of 'anti-terror campaign' have further aggravated the condition in the world as production and profit became more highly-concentrated while more and more people were displaced.
Now, various countries scramble to save their failing economies with whipped up solutions that are evidently targeted to save big businesses at the expense of the people and the workers who have long-been victims of the very roots of this crisis.
The oppressed and disadvantaged classes and sectors that include the migrants did not cause the global crunch and yet, will be forced into more hardships. Indeed, what is just and right has no place where imperialists rule.
Global crisis spells crisis for migrants' rights
Job security and wage of migrants are the most immediate casualties of economic crunch. The more recent cases of these are as follows:
– More than 70 workers from Advanced Semi-Conductor Engineering Co. Ltd (ASE) in Taiwan were laid off. Reportedly, about 1,000 more are set to be sent home very soon.
– In Macau, 400 Filipinos have already been fired from their jobs in the construction industry while about 12,000 migrants working in casinos have been told that their contracts will not be renewed.
– In the property sector in the United Arab Emirates, about 500 migrants already lost their jobs while thousands more are set to lose theirs in the construction industry in various countries within the Gulf region.
-Member organizations of the IMA in Australia have reported that many temporary foreign workers are being made redundant.
– In Canada, 70 Mexican and Jamaican temporary foreign workers were fired by the Rol-Land Farms, a private industrial-agricultural corporation.
– In the US, immigrants are losing their jobs and the little properties they own. Who can forget June Reyno, a Filipino immigrant who tied herself to her house after being issued an eviction notice due to the property slump?
In addition to this, the wage of migrants shall surely again be attacked. This was exactly what happened during and after the 1997 Asian Financial crisis. Wage of migrants in Korea, for example, dropped from US$750 to US$300 while foreign domestic workers suffered two wage cuts US$25 in 1999 and US$52 in 2003.
But the impacts of the global economic problems are not restricted to the host countries. In fact, it may even be more severe in sending countries like Philippines and Indonesia whose economies are very dependent on the advanced capitalist countries like the US.
For sure, the governments of sending countries shall again turn its eye to the very profitable business of labor export.
This is not surprising considering that labor export bring in billions of US dollars worth of remittance these countries and billions more profit from government charges on top of curbing unemployment inside the country. Both the Philippine and Indonesian governments have already expressed their intention of doubling the target deployment of their nationals to other countries.
Just recently, the Philippine government has proposed to implement a mandatory psychiatric test. While hypocritically claiming that it is for the protection of Filipino migrants, the truth is that it shall only be an additional financial burden to them and its ultimate goal is to make Filipino migrant workers more attractive to foreign
businesses.
Governments of sending countries have tried to placate the restlessness of their people by promising their readiness to face the crisis. This, however, is mere bravado as the economies of these countries are highly-dependent on the capitalist centers. Their so-called readiness will soon be revealed as nothing but readiness to impose more severe taxation to the people, drastic cuts in the budget for social services, even more wanton implementation of neo-liberal globalization and more aggressive exportation of labor. In fact, what these countries, like Philippines and Indonesia, are doing now is to forge more bilateral agreements with labor-receiving countries to ensure the continued sale of migrants as cheap laborers.
The way forward for the migrants
These developments and more that will surely come will be faced squarely by the organized grassroots migrants. The rights of migrants have never been respected. The second Global Forum on Migration and Development held last October in Manila showed the hypocrisy of sending and receiving countries as they tackle the so- called rights of migrants but are actually concretizing steps on how more income can be generated from migration and migrant labor.
The International Migrants Day is a most opportune time to expose the conditions and concerns of migrant workers.
The more than 100 members of the International Migrants Alliance (IMA) from 25 countries are gearing up for various actions that will highlight issues of migrants of various nationalities and as a sector.
In this light, the IMA calls on to its members and supporters to:
1. Launch actions that will highlight the issues of job security and wage of the migrants. Policies that make these rights vulnerable to attacks must be targeted while remaining vigilant over new ones that governments will cook up.
2. Conduct a massive education campaign among migrants on the roots and causes of the current global recession. Neoliberal globalization must be further exposed and concretized to the migrants to intensify our opposition against them.
3. Aggressively organize migrants in the grassroots. Only the collective will and actions of migrants can be our effective weapons against the onslaught of attacks to our rights that are sure to come.
4. Gather the broadest unity with other migrant organizations and advocates for the campaigns that we shall conduct.
5. Unite in solidarity with the local workers and other oppressed classes and sectors in host countries by establishing coalitions with their unions and federations that will serve as shields against neoliberal globalization's attacks to our rights as workers and oppressed people in the host country.
6. Integrate our movement overseas with that in our respective home countries to advance the struggle against imperialism and for genuine democracy, human rights and social justice.
In the coming months, migrants are to face hardships never seen before. It will show how right the people are to oppose neoliberal globalization policies. It will show how imperative it is to do actions for social justice and human rights. It will show how migrants are part of the struggle for change.
Through militant struggles, we can overcome and build a world that we and our people deserve.(Bulatlat.com)


Firstly, Shakespeare shows the importance of gender boundaries in society and how women who do not conform to their gender stereotypes will be punished. In Macbeth Shakespeare uses the character of Lady Macbeth to show this. Lady Macbeth throughout the play influences and controls her husband Macbeth for personal gain, she does this by taunting her husband which is already the first sign that she doesn't conform to the stereotypical 16th century woman who would usually be submissive to their husband. "When you durst do it, then you were a man" here we see that the gender roles have switched because it's the wife who has the power here, by saying you 'were a man' is telling of this, she is almost mocking him by inferring that if he doesn't murder Duncan then he is a 'woman' in the sense that he was too weak to carry out the murder showing how society viewed women as almost 'delicate' however in this scene it's the woman who has the power. Lady Macbeth teases Macbeth because she knows how if he murders Duncan that she will gain power, now as they're in a highly patriarchal society Lady Macbeth would not have had any social hierarchy over men but if she becomes queen she will have that power and this would have been desirable for her, as Shakespeare has shown us through her not follow social stereotypes that she has more 'masculine' desires rather than women who conform to society by following their only purpose in having children which Lady Macbeth opposes through her description of infanticide she has no interest in having children. To a Jacobean audience this would be absurd because women's only purpose in society in the 16th century was to provide men with children. Shakespeare is showing us here how she is against the most feminine thing for a woman and is almost striving for her own personal gain of power which is more masculine in the sense that in most Jacobean plays/stories it is only men who strive for power and is a masculine trait traditionally.
In The Bloody Chamber, we see a masculine trait again is given to a female character, Carter gives the role of the hero who saves the damsel in distress to the protagonist's mother which again in traditional stories is a male stereotype where a man would come to save the female who has been captured. The mother is identified with power as she's described as having "furious justice" which shows that Carter and Shakespeare have both given female characters that power or shown that like Lady Macbeth they are capable of wanting/having that power. However a female craving this power is not punished in The Bloody Chamber like it is in Macbeth with her being haunted by her feeling of guilt with her having visions of blood on her hands "come out, damned spot! Out I command you!" as we can see from the way Shakespeare wants this presented as she's shouting it's obviously driving her insane as she can see it but no one else can and thus Shakespeare shows how a woman is punished for rebelling against gender stereotypes by her seeking power and has gone insane due to a man's actions and therefore takes the consequences. But The Bloody Chamber doesn't punish women for trying to gain power like in Macbeth but through the use of fetishes and sexual desires they are punished. In The Bloody Chamber the main protagonist is seen as having sexual desires through the words "thrusting", "ecstasy", "burning cheek" and "tender" the main protagonist is usually descried with sexual words like this throughout the story. This is a continuative theme throughout the story even by things such as the red necklace she is given by the count which can symbolise blood is a reference to sexual fetishes and desires. However, the same intrigue that allows her to explore sexuality also forces her to explore the secret room which allows her to discover the bodies of the counts old wives. Like Lady Macbeth who is punished for her husband's actions the main protagonist in this story would also have been punished for her husband's actions that being that she discovered his murders and would have been killed by him for discovering them until she is saved my her empowered mother.


Here's some advice for financial fitness: take stock of taxes before you exercise! When and how you exercise your stock options can have a major impact on how much tax and which taxes you'll pay.
The final IRS regulations on ISOs, last modified in 2004, clarified points that are of greater concern to ISO-granting companies than to individual optionholders and advisors (they did not affect the basic tax structure or the AMT treatment). However, for the purposes of ISO-related financial planning, the rules do clarify certain advanced topics, such as the wash sale rule, stock swaps, transfers to trusts, and transfers in divorce, and they confirm current interpretations and practices. A detailed discussion about the background of the final ISO regulations occurs in the text of the proposed regulations.
This IRS publication explains the tax treatment of many kinds of income, including that from NQSOs, ISOs, and restricted stock/RSUs.
What are the tax consequences of exercising an ISO?
What do I need to know about the information on IRS Form 3921 for incentive stock options?
Has recent legislation changed the taxation of incentive stock options?
How am I taxed on my gain from a sale of stock that I acquired in an ISO exercise?
How am I taxed if I make a disqualifying disposition (e.g. sale) of ISO shares in the year I exercised the option?
What are the ISO withholding rules?
W-2 diagram What will my W-2 show after I exercise incentive stock options?
What tax treatment applies after ISOs are converted to NQSOs?
If I sell my ISO shares at exercise or within a year of the exercise, I will be taxed as if I had nonqualified stock options (NQSOs). Does this mean taxes will be withheld?
If I plan to sell my ISO stock before the end of the required holding periods (i.e. a disqualifying disposition), is there any tax advantage to receiving ISOs instead of NQSOs?
UPDATES! What are capital gains and capital losses? What are the capital gains tax rates?
When does my holding period for capital gains begin? At exercise or vesting?
What happens if I have a capital gain from one sale of company stock and a capital loss from another sale of company stock or another security?