At that point in our lives, we'd both gotten out of our first serious, long term relationships in terrible, miserable ways. Now it's been five months, and we've connected over much, much more. I'm one of his. You do not need to worry about cost sharing even after courtship. They will pay the bills, help with doing the laundry and keep valuable stuff safe.
The key is not to get involved with a person who thinks they own you, or are superior to you, just because they were born earlier. I honestly didn't know what was happening, but I knew I liked him, and I didn't particularly care if we were dating seriously or not. Occasionally, when I mention this, people seem surprised. Probably because my first boyfriend, who I dated for almost five years, was just over thirty years my senior. Please be safe with whoever you choose to sleep with or date, regardless of their age. Fortunately for me, this man's age was just another characteristic about him like his hair or smile or eyes.


Take 169 Hwy to the Cherry Street exit to Chanute. Head East to Lincoln Street. Turn South on Lincoln to 39 Hwy. Turn East on 39 Hwy for approximately 7 miles. Take Lyon Road North for 11/2 miles. The church sits at the intersection.


The Playseat Air Force Gaming Chair has been developed enthusiasts and professional pilots to ensure an authentic flying experience.
With a reclining seatback and optimal layout for a side controller, you'll be able to fly in comfort for hours.
Whether you use modern consoles like PlayStation, Xbox or Wii, or prefer to sim on a PC or Mac, the Air Force Chair is fully compatible.
You're also able to use the chair with most electronic flight sticks, throttles, pedals and yoke sets on the market, so there's no need to buy specific accessories to enjoy your cockpit set up.
For the most immersive experience possible use your Air Force Chair with a virtual reality headset like PS VR or Oculus Rift, and take yourself fully into a whole new world of flight simulation.
When you need a break from piloting your favourite aircraft, the Air Force folds neatly into itself so you can regain space when not in use.


text:
May 26, 2021 9:48am Comment Pranob Mehrotra
You can now get a Stadia Premiere Edition bundle free with a new OnePlus device
OnePlus is now offering a Stadia Premiere Edition bundle with some of its devices in the UK, Germany, and France. The bundle comes with a Stadia Controller and a Chromecast Ultra, along with access to a vast library of popular games like Doom Eternal, Far Cry 5, Metro Exodus, and more.
According to a recent post on the OnePlus Community forums, the Stadia Premiere Edition promo is available on purchase of a new OnePlus 9, OnePlus 9 Pro, OnePlus 8 Pro, OnePlus 8T, or OnePlus Nord via the company's website in the regions mentioned above. If you've been planning on getting a new OnePlus phone, you should head over to the company's website before stocks run out. OnePlus will automatically add the Stadia bundle to all eligible purchases at no extra cost.
The bundle will come with a one-month trial of Stadia Pro, including an assortment of popular games. After the first month, though, users will have to pay for a Stadia Pro subscription to continue using the service. If you haven't used Stadia before, you can check out the complete list of games available on the service by following this link. Do note that you'll need at least a 10Mbps Internet connection to play games in HD resolution. To play in 4K, Google recommends a 35Mbps connection.
OnePlus claims that its partnership with Stadia "will take full advantage of our best in class AMOLED display, industry-leading screen refresh rate of up to 120hz, blazing speed with high performance chipset with up to 12GB of RAM offering real-time response with 5G connectivity, and precise, multi-directional stereo sound for an immersive experience." While that may be true for its flagship phones, we're not sure how Stadia will perform on the mid-range OnePlus Nord. If you have a OnePlus Nord and a Stadia subscription, make sure to share your cloud gaming experience in the comments section below.
Tags OnePlusStadia
XDA » News Brief » You can now get a Stadia Premiere Edition bundle free with a new OnePlus device
Pranob Mehrotra
A Literature and Linguistics graduate with a keen interest in everything Android. When not writing about tech, Pranob spends most of his time either playing League of Legends or lurking on Reddit.

redpajama_set_name: RedPajamaCommonCrawl


Today is a chilly, dark, wet early November day, election day in the U.S.. The rains came mid-morning, soaking the leaves that had fallen in the showers and high winds of recent days. While many trees stand bare, there are still pockets of intense color spread here and there across the landscape.
Jennie put the garlic into its garden bed last week, covered it in straw, and encouraged it to settle into a deep winter sleep. Today we added compost to the other beds and swept the yard temporarily free of leaves. Now the breeze and rain are quickly spreading a new golden carpet across the grass and garden.
Friday evening a few of us gathered to remember and honor the ancestors, and to try to put our own lives in perspective. We shared stories about, and the foods of, our more immediate ancestors, and sat with the ancestors in the soft candle lit evening.
We had conversations about how we live in a time seemingly without root or context. Even as innumerable people visit ancestry research sites or take DNA tests, we collectively struggle to remember that the ancestors are more than names and genes, and that we are richer and more complex than any description we might imagine for ourselves.
We spoke about how we have been seduced into thinking too narrowly about who is an ancestor, just as we have been encouraged to be overly narrow in our understanding of who is a neighbor. Surely, were we to think and feel deeply into who may have dreamed us into being, we would find ourselves including all beings, human and non, who traveled this Earth before us. If we were to delve into the richness of our roots, we would conclude that all beings are our family.
Sadly, this election day is rife with encouragement to forget the very oneness that might bring us solace and peace. We are told that migrants are evil, even as our collective actions force innumerable people to undertake perilous journeys from their homes. We are encouraged to pretend we can create identity by demonizing others and find safety through building ever higher walls, and we are told to fear our own knowing, the deep sense that assures us that all of Creation is alive within us.
In spite of this, we are reminded in our dreams and longings that we are each more than we can possibly know, and that Creation is ongoing within and around us. Surely the teachings of hatred that divide us must give way to a more profound, life-giving knowing and way of being together.
I am with you. There are so many divisions created but not real.
Lara, I guess this divisiveness is a human thing but I hope we are going to outgrow it……. So much harm already, eh?
It is interesting to watch how they can divert our attention, Michael. They think they are so clever.
Yes, and that we are not. Yrt too often their strategies have worked over the millennia. Maybe we are going to awaken.
Some of us are awake in a big way, Michael.
Lara, I think many of us never went to sleep! It is a very good thing!
A beautifully moving post Michael, about the connection between all of us and the knowledge that we're more than we think we are.
Thank you, Andrea. If only we could collectively remember this.
Bullies only succeed if we listen to them ramble on. I prefer to listen to people…far more interesting!
KC, thanks for the comments. I try to remember that bullies are people too, abet people who have forgotten they are people. Perhaps the worst of them have been touched by Windigos…..


text:
Hon Paul Papalia CSC MLA
Minister for Police; Road Safety; Defence Industry; Veterans Issues
New Chair of the Road Safety Council
Katie Hodson-Thomas JP appointed Chair of the Road Safety Council
State Government thanks outgoing Chair Iain Cameron
Road Safety Minister Paul Papalia has welcomed Katie Hodson-Thomas JP as the newly appointed Chair of the Road Safety Council.
After 25 years since it was formed, the Road Safety Council continues to play an important role in reducing fatalities and serious injuries on Western Australian roads.
The council is made up of members from key State Government agencies, as well as the WA Local Government Association and RAC. Together, they recommend priority road safety projects and programs to improve the safety of roads across the State and support community outcomes.
Ms Hodson-Thomas is the Director of Corporate and Public Affairs at the Perth-based arm of global consulting firm FTI Consulting, and has extensive experience in public policy development, government relations and stakeholder engagement.
As a member of the WA Parliament between 1996 and 2008, Ms Hodson-Thomas served as a Parliamentary Secretary to the Health Minister, held shadow portfolio responsibilities for transport, tourism, small business, environment and road safety, and was Deputy Chair of the Community Development and Justice Standing Committee.
In addition to her road safety experience in her Parliamentary capacity, Ms Hodson-Thomas took a proactive approach to road safety in her former role as Chief Executive Officer of the Caravan Industry Association WA.
She was formerly independent Chair of the WA Fishing Industry Council and is currently a member of the Gaming and Wagering Commission.
Ms Hodson-Thomas' appointment comes as current Chair Iain Cameron has completed the maximum tenure of five years on the council.
Mr Cameron served as Chair of the council from July 2017 and during this time has made a valuable and lasting contribution to road safety in WA.
As Chair of the council, Mr Cameron has been a passionate advocate for a safe system approach to road safety and these principles are reflected in the Driving Change Road Safety Strategy that guides WA's road safety journey over the next decade since it was released.
Comments attributed to Road Safety Minister Paul Papalia:
"I would like to congratulate Ms Hodson-Thomas on her appointment as Chair of the Road Safety Council.
"The McGowan Government has set an ambitious target to reduce the number of people fatally, severely or seriously injured by 50 to 70 per cent by 2030 and the leadership of the Road Safety Council is key to achieving this.
"Ms Hodson-Thomas's experience in representing the interests of the WA community at a federal and local level gives me every confidence in her ability to lead the council and improve road safety outcomes for the benefit of everyone who uses our roads.
"I would like to thank Iain Cameron for his significant contribution to road safety in WA during his five years on the council.
"Mr Cameron can feel proud that under his leadership, the council has supported a range of programs and projects that save lives on our roads."


text:
National Mental Health Awareness Month: recognizing it's importance during COVID-19
by: Katie Turner
Posted: May 27, 2020 / 11:08 PM EDT / Updated: May 27, 2020 / 11:08 PM EDT
CHARLESTON, S.C. (WCBD)- National Mental Health Awareness Month is coming to a close. During this stressful time of isolation, having an open conversation about mental illness is more important than ever.
Hope Lumpkin is an advocate for mental health awareness. Her passion stems from her own struggles with anxiety and depression.
"You feel like no one else understands what you are dealing with. It's bizzare, and it's very overwhelming, and you feel like something is heavy on your chest or you just can't get out of bed on the morning," says Lumpkin.
Growing up, Lumpkin's family inspired her to not feel ashamed of her challenges. She feels having a single mom and two older brothers helped her gain perspective.
"My middle brother Matthew was diagnosed with Austism," she says. "My brother is probably one of the greatest people I've ever known. He is always positive, he is always picking everyone up off the ground. And so he gave me the courage because if he could get through all those things, so could I."
As a young adult, she began to notice the stigma around mental illness in general. Lumpkin decided to use her social media platform as way to show transparency around the subject.
"It's the term mental illness. You hear that and it's been so polarized by film and books and it's been made out to be "crazy." So if you have a mental illness, automatically you're "crazy." Which couldn't be more false," she says.
Through trial-and-error she was able to find ways to cope with her anxiety and depression. She claims that her saving grace was developing a balanced lifestyle through fitness.
"For me it's fitness, cooking, reading, music, my relationship, my family, my dog. It's important during this time to recognize the good because you can get overwhelmed by the bad," she says.
During this difficult time, she recommends checking in with yourself, and simply filling your life with who and what makes you the most happy. To check out her social media feed, click here.
City of Charleston, area churches honor COVID-19 victims with ringing of bells, lighting of buildings
by Riley Benson / Jan 19, 2021
CHARLESTON, S.C (WCBD) - City of Charleston leaders gathered to remember the lives lost to COVID-19. Community and faith leaders are hoping to remember the more than 400,000 lives lost to COVID-19 since the pandemic began.
Churches across the city and country tolled their bells at 5:30pm while others joined in by lighting the exterior of buildings.
Governor McMaster requests hospitals pause elective surgeries; some will, others making changes
CHARLESTON, S.C. (WCBD) - Governor Henry McMaster is recommending a pause on elective surgeries at South Carolina hospitals such as plastic surgery, orthopedic surgery and any procedures not categorized as matters of life or death. It would be the second pause of elective surgeries and operations across the state since the pandemic began.
Some Lowcountry hospitals say they will continue to operate business as usual and have no plans to slow elective surgeries. Others plan to scale back elective surgeries to provide more resources for COVID-19 vaccine distribution.
Problems emerge in vaccine registration for South Carolinians over 70
CHARLESTON, S.C. (WCBD) - Hundreds of thousands of South Carolinians 70-years-old and up can now sign up to get the COVID-19 vaccine. Some say the process has been smooth, while others say they've been left out in the dark searching for answers.
Many say they were eager to have the opportunity to get the vaccine after months of staying home and away from large crowds. But some say they had trouble signing up for a COVID-19 vaccine while others say they've spent hours on the phone and still haven't been able to schedule an appointment. Others were able to make an appointment first thing in the morning.
U.S. Senator Tim Scott


text:
Q: Client side Blazor HttpClient Factory I am trying to add http client factory support to my client side blazor app and having hard time getting the http client factory to work.
So the questions are.

*

*Is the current build of blazor support having http client factory out
of the box?

*If not is there a way it can be implemented ?

Thanks.

redpajama_set_name: RedPajamaStackExchange


text:
\section*{Appendix}

In this appendix, we first present a visualization of the data structure used for SVGs in Sec.~\ref{sec:svg_representation}. We provide detailed instructions used to preprocess our data in Sec.\ref{sec:svg_preprocessing}. Additional details on training and architectures are given in Sec.~\ref{sec:additional_training} and Sec.~\ref{sec:archi_details}. Sec.~\ref{sec:filling} goes through the procedure to predict filling along with SVG paths. Finally, additional results for font generation, icons generation, latent space algebra, animations and interpolations are presented in sections \ref{sec:font_generation}, \ref{sec:random_samples}, \ref{sec:latent_algebra_additional}, \ref{sec:additional_animation} and \ref{sec:additional_interpolations} respectively.

\section{SVG Representation visualization}
\label{sec:svg_representation}
For a visual depiction of the data structure described in Sec.~3.1, we present in Fig.~\ref{fig:input_representation} an example of SVG image along with its tensor representation. The SVG image consists of 2 paths, $P_1$ and $P_2$. The former, $P_1$ starts with a move \texttt{m} command from the top left corner. The arc is constructed from two Cubic Bézier curve \texttt{c} commands. This is followed by a line \texttt{l} and close path \texttt{z} command. The \texttt{<EOS>} command indicates the end of path $P_1$. $P_2$ is constructed in a similar fashion using only a single Cubic Bézier curve.

\begin{figure}[hbt]
    \centering
    \includegraphics[width=\linewidth]{images/input_representation.pdf}
    \vspace{-5mm}
    \caption{Example of SVG representation. Left: Input SVG image. Right: Corresponding tensor representations with 2 paths and 7 commands ($N_P=2, N_C=7$). Commands in the image and the corresponding tensor are color-coded for a better visualization. The arguments are listed in the order $q_{x1}$, $q_{y1}$, $q_{x2}$, $q_{y2}$, $x_2$ and $y_2$. Best viewed in color.}
    \label{fig:input_representation}
\end{figure}

\section{SVG Preprocessing}
\label{sec:svg_preprocessing}
In Sec.~3.1, we consider that SVG images are given as a set of paths, restricted to the 6 commands described in Tab.~1. As mentioned, this does not reduce the expressivity of vector graphics since other basic shapes and commands can be converted to that format. We describe next the details of these conversions.

\textbf{Path commands conversion.}
Lower-case letters in SVG path commands are used to specify that their corresponding arguments are \emph{relative} to the preceding command's end-position, as opposed to \emph{absolute} for upper-case letters. We start by converting all commands to absolute. Other available commands (\texttt{H}: HorizonalLineTo, \texttt{V}: VerticalLineTo, \texttt{S}: SmoothBezier, \texttt{Q}: QuadraticBezier, \texttt{T}: SmoothQuadraticBezier) can be trivially converted to the commands subset of Tab.~1. The only missing command that needs further consideration is the elliptical-arc command \texttt{A}, described below.

\textbf{Elliptical arc conversion.}
As illustrated in Fig.~\ref{fig:elliptical_arc_command}, command \texttt{A} $r_x$, $r_y$ \ $\varphi$ \ $f_A$ \ $f_S$ \ $x_2$, $y_2$ draws an elliptical arc with radii $r_x$ and $r_y$ (semi-major and semi-minor axes), rotated by angle $\varphi$ to the $x$-axis, and end-point $(x_2, y_2)$. The bit-flags $f_A$ and $f_S$ are used to uniquely determine which one of the four possible arcs is chosen: large-arc-flag $f_A$ is set to $1$ if the arc spanning more than $\ang{180}$ is chosen, 0 otherwise; and sweep-flag $f_s$  is set to 0 if the arc is oriented clockwise, 1 otherwise. We argue that this parametrization, while being intuitive from a user-perspective, adds unnecessary complexity to the commands argument space described in Sec.3.1 and the bit-flags make shapes non-continuous w.r.t. their arguments, which would result in less smooth animations.
\begin{figure}[htb]
    \centering
    \includegraphics[width=0.32\linewidth]{images/commands/elliptical_arc_command.pdf}
    \caption{Elliptical Arc command visualization. The command is parametrized with arguments: $r_x$, $r_y$, $\varphi$, $f_A$, $f_S$, $x_2$ and $y_2$.}
    \label{fig:elliptical_arc_command}
\end{figure}
We therefore convert \texttt{A} commands to multiple Cubic Bézier curves. We first start by converting the endpoint parametrization $(x_1, y_1), (x_2. y_2)$ to a center parametrization $(c_x, c_y)$. The center of the ellipse is computed using:
\begin{equation}
    \begin{pmatrix}c_x\\c_y\end{pmatrix} = \begin{pmatrix}\cos\varphi&-\sin\varphi \\ \sin\varphi&\cos\varphi\end{pmatrix} \begin{pmatrix}c'_x\\c'_y\end{pmatrix} + \begin{pmatrix}\frac{x_1+x_2}2\\\frac{y_1+y_2}2\end{pmatrix}
\end{equation}
where,
\begin{equation}
    \begin{pmatrix}c'_x\\c'_y\end{pmatrix}=\pm\sqrt{\frac{r_x^2 r_y^2-r_x^2\left(y'_1\right)^2-r_y^2\left(x'_1\right)^2}{r_x^2\left(y'_1\right)^2+r_y^2\left(x'_1\right)^2}}\begin{pmatrix}\frac{r_x y'_1}{r_y}\\-\frac{r_y x'_1}{r_x}\end{pmatrix}
\end{equation}

\begin{equation}
    \begin{pmatrix}x'_1\\y'_1\end{pmatrix} = \begin{pmatrix}\cos\varphi&\sin\varphi\\-\sin\varphi&\cos\varphi\end{pmatrix} \begin{pmatrix}\frac{x_1-x_2}2\\\frac{y_1-y_2}2\end{pmatrix}
\end{equation}

We then determine the \emph{start angle} $\theta_1$ and \emph{angle range} $\Delta\theta$ which are given by computing:
\begin{equation}
    \theta_1 = \angle \left(\begin{pmatrix}1\\0\end{pmatrix}, \begin{pmatrix}\frac{x'_1 - c'_x}{r_x}\\\frac{y'_1-c'_y}{r_y}\end{pmatrix}\right)
\end{equation}

\begin{equation}
    \Delta\theta = \angle \left(\begin{pmatrix}\frac{x'_1 - c'_x}{r_x}\\\frac{y'_1-c'_y}{r_y}\end{pmatrix}, \begin{pmatrix}\frac{-x'_1 - c'_x}{r_x}\\\frac{-y'_1-c'_y}{r_y}\end{pmatrix}\right)
\end{equation}

Using $(c_x, c_y)$, $\theta_1$ and $\Delta\theta$, we obtain the parametric elliptical arc equation as follows (for $\theta$ ranging from $\theta_1$ to $\theta_1 + \Delta\theta$):
\begin{equation}
    E(\theta) = \begin{pmatrix}
        c_x + r_x \cos\varphi \cos\theta - r_y \sin\varphi \sin\theta \\
        c_y + r_x \sin\varphi \cos\theta - r_y \cos\varphi \sin\theta
    \end{pmatrix}
\end{equation}

and the derivative of the parametric curve is:
\begin{equation}
    E'(\theta) = \begin{pmatrix}
        -r_x \cos\varphi \sin\theta - r_y \sin\varphi \cos\theta \\
        -r_x \sin\varphi \sin\theta - r_y \cos\varphi \cos\theta
    \end{pmatrix}
\end{equation}

Given both equations, \cite{maisonobe2003ellipticalarc} shows that the section of elliptical arc between angles $\theta_1$ and $\theta_2$ can be approximated by a cubic Bézier curve whose control points are computed as follows:
\begin{equation}
    \left\{
        \begin{array}{lll}
            P_1 & = & E(\theta_1) \\
            P_2 & = & E(\theta_2)\\
            Q_1 & = & P_1 + \alpha E'(\theta_1)\\
            Q_2 & = & P_2 - \alpha E'(\theta_2)\\
        \end{array}
    \right.
\end{equation}

where $\alpha = \sin{\theta_2 - \theta_1} \frac{\sqrt{4 + 3 \tan^2{\frac{\theta_2 - \theta_1}2}} - 1}3$.

\textbf{Basic shape conversion.}
In addition to paths, SVG images can be built using 6 basic shapes: rectangles, lines, polylines,  polygons, circles and ellipses. The first four can be converted to paths using Line commands, while the latter two are transformed to a path using four Elliptical Arc commands, which themselves are converted to Bézier curves using the previous section. Table~\ref{tab:basic_shape2path} below shows examples of these conversions.

\begin{table}[htbp]
\centering\vspace{0mm}%
\caption{Examples of conversion from basic shapes (rectangle, circle, ellipse, line, polyline and polygon) to paths.}
\vspace{-2mm}
\small
\setlength{\tabcolsep}{0.5em}
\renewcommand{\arraystretch}{1.1}
\begin{center}
    \begin{tabular}{>{\centering\arraybackslash} m{1cm}>{\centering\arraybackslash} m{5.2cm}>{\centering\arraybackslash} m{5.2cm}>{\centering\arraybackslash} m{1cm}}
    \toprule
     & Basic Shape & Path equivalent & \\
    \midrule
    \hspace{0.5mm} \includegraphics[width=1cm]{images/preprocessing/rectangle.pdf} &
    \begin{tabular}{l}
        \texttt{<rect x="0" y="0" } \\
        ~~~~~~~~~~~~~\texttt{width="1" height="1" />}
    \end{tabular}
    &
    \begin{tabular}{l}
        \texttt{<path d="M0,0 L1,0 L1,1} \\
        ~~~~~~~~~~~~~~~~~~~\texttt{L0,1 L0,0 z" />} \\
    \end{tabular}
    &
    \hspace{0.5mm} \includegraphics[width=1cm]{images/preprocessing/rectangle_converted.pdf} \\
    \midrule
    \hspace{2.5mm} \includegraphics[width=1cm]{images/preprocessing/circle.pdf} &
    \begin{tabular}{l}
        \texttt{<circle cx="1" cy="1"} \\
        ~~~~~~~~~~~~~~~~~~\texttt{r="1" />}, \\
        \texttt{<ellipse cx="1" cy="1"} \\
        ~~~~~~~~~~~~~~~~~~~\texttt{rx="1" ry="1" />}
    \end{tabular}
    &
    \begin{tabular}{l}
        \texttt{<path d="M1,0 A1,1 0 0 1 2,1} \\
        ~~~~~~~~~~~~~~~~~~~\texttt{A1,1 0 0 1 1,2} \\
        ~~~~~~~~~~~~~~~~~~~\texttt{A1,1 0 0 1 0,1} \\
        ~~~~~~~~~~~~~~~~~~~\texttt{A1,1 0 0 1 1,0 z" />} \\
    \end{tabular}
    &
    \hspace{2.5mm} \includegraphics[width=1cm]{images/preprocessing/circle_converted.pdf} \\
    \midrule
        \hspace{0.5mm} \includegraphics[width=1cm]{images/preprocessing/line.pdf} &
        \texttt{<line x1="0" x2="1" y1="0" y2="1" />} &
        \texttt{<path d="M0,0 L1,1" />} &
        \hspace{0.5mm} \includegraphics[width=1cm]{images/preprocessing/line_converted.pdf} \\
    \midrule
        \hspace{0.5mm} \includegraphics[width=1cm]{images/preprocessing/polyline.pdf} &
        \texttt{<polyline points="0, 0 1, 0 1, 1" />} &
        \texttt{<path d="M0,0 L1,0 L1,1" />} &
        \hspace{0.5mm} \includegraphics[width=1cm]{images/preprocessing/polyline_converted.pdf} \\
    \midrule
        \hspace{0.5mm} \includegraphics[width=1cm]{images/preprocessing/polygon.pdf} &
        \texttt{<polgon points="0, 0 1, 0 1, 1" />} &
        \texttt{<path d="M0,0 L1,0 L1,1 z" />} &
        \hspace{0.5mm} \includegraphics[width=1cm]{images/preprocessing/polygon_converted.pdf} \\
    \bottomrule
    \end{tabular}
\end{center}
\label{tab:basic_shape2path}
\end{table}

\textbf{Path simplification.}
Similarly to Sketch-RNN~\cite{ha2017sketchrnn}, we preprocess our dataset in order to simplify the network's task of representation learning. However, unlike the latter work, our input consists of both straight lines and parametric curves. Ideally, if shapes were completely smooth, one could reparametrize points on a curve so that they are placed equidistantly from one another. In practice though, SVG shapes contain sharp angles, at which location points should remain unchanged. We therefore first split paths at points that form a sharp angle (e.g. where the angle between the incoming and outgoing tangents is less than some threshold $\eta = \ang{150}$). We then apply either the Ramer-Douglas-Peucker~\cite{douglas1973RDP} algorithm to simplify line segments or the Philip J. Schneider algorithm \cite{schneider1990simplify} for segments of cubic Bézier curves. Finally, we divide the resulting lines and Bézier curves in multiple subsegments when their lengths is larger than some distance $\Delta$ = 5. Examples of SVG simplifications are shown in Fig.~\ref{fig:svg_simplifications}. Notice how our algorithm both adds points when curve segments are too long or reduces the amount of points when the curve resolution is too high.

\begin{figure}[htb]
    \centering
    \includegraphics[width=0.8\textwidth]{images/svg_simplifications2.pdf}
    \vspace{-2mm}
    \caption{Examples of SVG simplifications. Top: original SVGs as downloaded from the \url{https://icons8.com} website. Bottom: Same icons after path simplification.}
    \label{fig:svg_simplifications}
\end{figure}

\textbf{SVG normalization.}
All SVGs are scaled to a normalized \emph{viewbox} of size $256 \times 256$, and paths are \emph{canonicalized}, meaning that a shape's starting position is chosen to be the topmost leftmost point, and commands are oriented clockwise.

\section{Additional Training details}
\label{sec:additional_training}
We augment every SVG of the dataset using 20 random augmentations with the simple transformations described as follows.

\textbf{Scaling.}~We scale the SVG by a random factor $s$ in the interval $[0.8, 1.2]$.

\textbf{Translation.}~We translate the SVG by a random translation vector $\bm{t}$ where $t_x$ and $t_y$ are sampled independently in the interval $[-2.5, 2.5]$.

We believe further robustness in shape representation learning and interpolation stability can be obtained by simply implementing more complex data augmentation strategies.

\section{Architectural details}
\label{sec:archi_details}
Fig.~4 presents an overview illustration of our Hierarchical autoencoder architecture. In Fig.~\ref{fig:detailled_architectures}, we here show a more detailed view of the four main components of DeepSVG, i.e.\ the two encoders $E^{(1)}$, $E^{(2)}$ and decoders $D^{(2)}$, $D^{(1)}$. Similarly to \cite{nash2020polygen}, we use the improved Transformer variant described in \cite{child2019sparse_transformer, parisotto2019stabilizing_transformer} as building block in all our components. $E^{(1)}$ and $E^{(2)}$ employ a temporal pooling module to retrieve a single $d_E$-dimensional vector from the $N_C$ and $N_P$ outputs respectively. $D^{(2)}$ and $D^{(1)}$ use learned embeddings as input in order to generate all predictions in a single forward-pass (non-autoregressively) and break the symmetry. The decoders are conditioned on latent vector $z$ or path representation $u_i$ by applying a linear transformation and adding it to the intermediate transformer representation in every block.

\begin{figure}[htb]
    \centering
    \includegraphics[width=1.0\textwidth]{images/detailled_architectures2.pdf}
    \vspace{-15mm}
    \caption{Detailed view of architectures of $E^{(1)}$, $E^{(2)}$, $D^{(2)}$ and $D^{(1)}$.}
    \label{fig:detailled_architectures}
\end{figure}

\section{Filling procedure visualization}
\label{sec:filling}

Thanks to its hierarchical construction, DeepSVG can predict any number of global path-level attributes, which could be e.g. color, dash size, stroke-width or opacity. As a first step towards a network modeling all path attributes supported by the SVG format, we demonstrate support for filling.
When using the default \texttt{non-zero} fill-rule in the SVG specification, a point in an SVG path is considered inside or outside the path based on the draw orientations (clockwise or counter-clockwise) of the shapes surrounding it. In particular, the \emph{insideness} of a point in the shape is determined by drawing a ray from that point to infinity in any direction, and then examining the places where a segment of the shape crosses the ray. Starting with a count of zero, add one each time a path segment crosses the ray from left to right and subtract one each time a path segment crosses the ray from right to left. We argue that this parametrization is not optimal for neural networks to encode filling/erasing. Therefore, we simply let the network output a \emph{fill-attribute} that can take one of three values: \emph{outline}, \emph{fill} or \emph{erase}. This attribute is trained in a supervised way along with the other losses and is then used to export the actual SVG file. In particular, overlapping \emph{fill} and \emph{erase} shapes are grouped together in a same path and oriented in a clockwise/counterclockwise fashion respectively, while \emph{outlined} shapes remain unchanged.

\begin{figure}[H]
    \centering
    \includegraphics[width=0.95\linewidth]{images/fill_interpolations2.pdf}
    \vspace{0mm}
    \caption{Examples of icon interpolations when using the fill attribute, predicted by the global decoder $D^{(1)}$. Look at how shapes' filling generally changes at the middle of interpolation, while being deformed in a smooth way.}
    \label{fig:fill_interpolations}
\end{figure}

\section{Font generation}
\label{sec:font_generation}
In this section, we provide details and additional results for font generation, presented in Sec.~4.4.

\textbf{Experimental setup.}~
We train our models on the SVG-Fonts dataset~\cite{lopes2019svgvae} for 5 epochs using the same training hyper-parameters as described in Sec.~3.4, reducing the learning rate by a factor 0.9 every quarter epoch. Furthermore, all encoder and decoder Transformer blocks are extended to be class-conditioned. Similarly to how latent vector $z$ is fed into $D^{(2)}$, we add the learned label embedding to the intermediate transformer representation, after liner transformation. This is done in $E^{(1)}$, $E^{(2)}$, $D^{(2)}$ and $D^{(1)}$ and applies for both our final model and the one-stage baselines.

\textbf{Additional results.}~
To validate that our model generates diverse font samples, we also present in Fig.~\ref{fig:font_samples} different samples for every glyph. Note how the latent vector $z$ is decoded into a style-consistent set of font characters. Diversity here includes different levels of boldness and more or less italic glyphs.

\begin{figure}[htb]
    \centering
    \includegraphics[width=0.95\linewidth]{images/font_samples.pdf}
    \caption{Font samples from DeepSVG -- Ordered, generated from 7 different latent vectors. As observed in SVG-VAE~\cite{lopes2019svgvae}, we notice a style consistency across the generated glyphs for a same latent vector. For instance, note how columns 5 \& 6 correspond to an italic font style, column 4 to an extra thin one, and column 2 to a bolder one.}
    \label{fig:font_samples}
\end{figure}

\section{Random samples of icons}
\label{sec:random_samples}
In this section, we show random samples of icons by our model. Fig.~\ref{fig:random_samples} presents a set of icons generated by DeepSVG, obtained by sampling random latent vectors $z$. These results show diverse icons that look visually reasonable. Note that the problem of \emph{generic icon} generation is much more challenging than font generation. Results are promising, but much scope for improvement remains.

\begin{figure}[htb]
    \centering
    \includegraphics[width=0.65\linewidth]{images/random_samples.pdf}
    \vspace{-2mm}
    \caption{Random samples of icons.}
    \label{fig:random_samples}
\end{figure}

\section{Additional results on latent space algebra}
\label{sec:latent_algebra_additional}
As mentioned in Sec.4.3, operations on vectors in the latent space lead to semantically meaningful SVG manipulations. By the hierarchical nature of our architecture, we here demonstrate that such operations can also be performed at the \emph{path}-level, using path encodings $(\hat{u}_i)_1^{N_P}$. In Fig.~\ref{fig:latent_op_interpolation} we consider the difference $\Delta$ between path encodings of similar shapes, that differ by a horizontal or vertical translation. Adding or removing $\Delta$ from a path encoding in arbitrary SVG images applies the same translation to it.

\begin{figure}[htb]
    \centering
    \includegraphics[width=\linewidth]{images/latent_op_interpolations2.pdf}
    \vspace{-7mm}
    \caption{Vector operations at the path-level. $\hat{u}_1$ corresponds to the path encoding of the blue shape, while $\hat{u}_2$ corresponds to the shape in green.}
    \label{fig:latent_op_interpolation}
\end{figure}

\section{Additional animations by interpolation}
\label{sec:additional_animation}
We here show three additional animations, generated by DeepSVG from two user-created drawings. DeepSVG handles well deformation, scaling and rotation of shapes, see Fig.~\ref{fig:animations_additional}.
\begin{figure}[htb]
    \centering
    \includegraphics[width=0.8\linewidth]{images/animations_additional2.pdf}
    \vspace{-1mm}
    \caption{Additional animation examples.}
    \label{fig:animations_additional}
\end{figure}

\section{Additional interpolations}
\label{sec:additional_interpolations}
Finally, we present additional interpolation results in Fig.~\ref{fig:interpolations_additional} using our DeepSVG -- ordered model, showing successful interpolations between challenging pairs of icons, along with some failure cases.

\begin{figure}[htb]
    \centering
    \includegraphics[width=0.95\linewidth]{images/interpolations_additional3.pdf}
    \caption{Additional interpolations of DeepSVG -- ordered. The last two rows show examples of challenging icons, where interpolations appear visually less smooth.}
    \label{fig:interpolations_additional}
\end{figure}

\subsection{SVG Dataset and Representation}
\label{sec:data}

\textbf{SVG-Icons8 Dataset. }
Existing vector graphics datasets either only contain straight lines~\cite{quickdraw} or are constrained to font generation~\cite{lopes2019svgvae}. These datasets therefore do not pose the challenges associated with the generation of complex vector graphics, addressed in this work. Thus, we first introduce a new dataset, called \textit{SVG-Icons8}\footnote{Available at \url{https://github.com/alexandre01/deepsvg}.}.
It is composed of SVG icons obtained from the \url{https://icons8.com} website. In the compilation of the dataset, we carefully considered the \emph{consistency} and \emph{diversity} of the collected icons. This was mainly performed by ensuring that the vector graphics have similar scale, colors and style, while capturing diverse real-world graphics allowing to learn meaningful and generalizable shape representations. In summary, our dataset consists of 100,000 high-quality icons in 56 different categories. Samples from the dataset are shown in Fig.~\ref{fig:svg_dataset}. We believe that the \textit{SVG-Icons8} dataset constitutes a challenging new benchmark for the growing task of vector graphics generation and representation learning.

\begin{figure}[t]
\centerin
\includegraphics*[trim=0 300 0 0,width=.7\linewidth]{images/icons_dataset.pdf}\vspace{-4mm}
\caption{Samples from the \textit{SVG-Icons8} dataset in vector graphics format. Although icons have similar scale and style, they have drastically diverse semantic meanings, shapes and number of paths.}
\vspace{-4mm}
\label{fig:svg_dataset}
\end{figure}

\textbf{Vector Graphics and SVG. }
In contrast to Raster graphics, where the content is represented by a rectangular grid of pixels, Vector graphics employs in essence mathematical formulas to encode different shapes. Importantly, this allows vector graphics to be scaled without any aliasing or loss in detail.
Scalable Vector Graphics (SVG) is an XML-based format for vector graphics \cite{w3c_svg}.
In its simplest form, an SVG image is built up hierarchically as a set of shapes, called \emph{paths}. A path is itself defined as a sequence of specific draw-commands (see Tab.~\ref{tab:base_commands}) that constitute a closed or open curve.

\begin{table}[b]
\centering\vspace{-3mm}%
\caption{List of the SVG draw-commands, along with their arguments and a visualization, used in this work. The start-position $(x_1$, $y_1)$ is implicitly defined as the end-position of the preceding command.}\vspace{-2mm}
\small
\setlength{\tabcolsep}{0.25em}
\renewcommand{\arraystretch}{1.1}
    \begin{tabular}{>{\centering\arraybackslash} m{1.55cm}>{\centering\arraybackslash} m{2.3cm}>{\centering\arraybackslash} m{5.6cm}>{\centering\arraybackslash} m{3.9cm}}
    \toprule
    \textbf{Command} & \textbf{Arguments} & \textbf{Description} & \textbf{Visualization} \\
    \midrule
        \texttt{<SOS>} &
        $\varnothing$ &
        \begin{tabular}{l}
            'Start of SVG' token.
        \end{tabular} &
        \vspace{1cm} \\
    \midrule
        \begin{tabular}{c}
            \texttt{M} \\
            (MoveTo)
        \end{tabular} &
        $x_2$, $y_2$ &
        \begin{tabular}{l}
            Move the cursor to the end-point $(x_2, y_2)$ \\
            without drawing anything.
        \end{tabular} &
        \vspace{2mm}
        \includegraphics[width=1.5cm]{images/commands2/move_command.pdf} \\
    \midrule
        \begin{tabular}{c}
            \texttt{L} \\
            (LineTo)
        \end{tabular} &
        $x_2$, $y_2$ &
        Draw a line to the point $(x_2, y_2)$. &
        \vspace{2mm}
        \includegraphics[width=2cm]{images/commands2/line_command.pdf} \\
    \midrule
        \vspace{3pt}
        \begin{tabular}{c}
            \texttt{C} \\
            (Cubic \\
            Bézier)
        \end{tabular}
        \vspace{0pt} &
        \vspace{3pt}
        \begin{tabular}{l}
             $q_{x1}$, $q_{y1}$ \\ $q_{x2}$, $q_{y2}$ \\
             $x_2$, $y_2$
        \end{tabular}
        \vspace{0pt} &
        \vspace{3pt}
        \begin{tabular}{l}
            Draw a cubic Bézier curve with control \\
            points $(q_{x1}, q_{y1})$, $(q_{x2}, q_{y2})$ and end-point \\
            $(x_2, y_2)$.
        \end{tabular}
        \vspace{0pt} &
        \includegraphics[width=3cm]{images/commands2/bezier_command.pdf} \\
    \midrule
        \texttt{z} (ClosePath) &
        $\varnothing$ &
        \begin{tabular}{l}
            Close the path by moving the cursor back \\
            to the path's starting position $(x_0, y_0)$.
        \end{tabular}
        &
        \vspace{1mm}
        \includegraphics*[trim=0 6 0 6,width=1.8cm]{images/commands2/close_command.pdf} \\
    \midrule
        \texttt{<EOS>} &
        $\varnothing$ &
        \begin{tabular}{l}
            'End of SVG' token.
        \end{tabular} &
        \vspace{1cm} \\
    \bottomrule
    \end{tabular}\vspace{-3mm}
\label{tab:base_commands}
\end{table}

\textbf{Data structure. }
In order to learn deep neural networks capable of encoding and predicting vector graphics, we first need a well defined and simple representation of the data. This is obtained by adopting the SVG format with the following simplifications. We employ the commands listed in Tab.~\ref{tab:base_commands}.
In fact, this does not significantly reduce the expressivity since other basic shapes can be converted into a sequence of Bézier curves and lines.
We consider a Vector graphics image $V = \{P_1, \dots, P_{N_P}\}$ to be a set of $N_P$ \emph{paths} $P_i$. Each path is itself defined as a triplet $P_i = (S_i, f_i, v_i)$,
where $v_i \in \{0, 1\}$ indicates the visibility of the path and $f_i \in \{0, 1, 2\}$ determines the fill property.
Each $S_i = (C_{i}^1, \ldots, C_{i}^{N_C})$ contains a sequence of $N_C$ \emph{commands} $C_i^j$. The command $C_i^j = (c^j_i, X_i^j)$ itself is defined by its type $c^j_i \in \{\texttt{<SOS>}, \texttt{m}, \texttt{l}, \texttt{c}, \texttt{z}, \texttt{<EOS>}\}$ and arguments, as listed in Tab.~\ref{tab:base_commands}. To ensure efficient parallel processing, we use a fixed-length argument list $X_i^j = (q_{x_1, i}^j, q_{y_1, i}^j, q_{x_2, i}^j, q_{y_2, i}^j, x_{2, i}^j, y_{2, i}^j) \in \mathbb{R}^6$, where any unused argument is set to $-1$. Therefore, we also use a fixed number of paths $N_P$ and commands $N_C$ by simply padding with invisible elements in each case. Further details are given in appendix.

\subsection{SVG Embedding}
\label{sec:svg_embedding}
By the discrete nature of the data and in order to let the encoder reason between the different commands, every $C_i^j$ is projected to a common continuous embedding space of dimension $d_E$, similarly to the \textit{de facto} approach used in Natural Language Processing \cite{vaswani2017transformer}. This enables the encoder to perform operations across embedded vectors and learn complex dependencies between argument types, coordinate values and relative order of commands in the sequence.
We formulate the embedding of the SVG command in a fashion similar to \cite{child2019sparse_transformer}. In particular, the command $C_i^j$ is embedded to a vector $e_i^j \in \mathbb{R}^{d_E}$ as the sum of three embeddings, $e_i^j = e_{\text{cmd}, i}^j + e_{\text{coord}, i}^j + e_{\text{ind}, i}^j$.
We describe each individual embedding next.

\textbf{Command embedding.} The command type (see Tab.~\ref{tab:base_commands}) is converted to a vector of dimension $d_E$ using a learnable matrix $W_{\text{cmd}} \in \mathbb{R}^{d_E \times 6}$ as $e_{\text{cmd}, i}^j = W_{\text{cmd}} ~ \delta_{c_i^j} \in \mathbb{R}^{d_E}$, where $\delta_{c_i^j}$ designates the 6-dimensional one-hot vector containing a $1$ at the command index $c_i^j$.

\textbf{Coordinate embedding.} Inspired by works such as PixelCNN~\cite{oord2016pixelcnn} and PolyGen~\cite{nash2020polygen}, which discretize continuous signals, we first quantize the input coordinates to 8-bits. We also include a case indicating that the coordinate argument is unused by the command, thus leading to an input dimension of $2^8+1 = 257$ for the embedding itself.
Each coordinate is first embedded separately with the weight matrix $W_{X} \in \mathbb{R}^{d_E \times 257}$. The combined result of each coordinate is then projected to a $d_E$-dimensional vector using a linear layer $W_{\text{coord}} \in \mathbb{R}^{d_E \times 6d_E}$,
\begin{equation}
    e_{\text{coord}, i}^j = W_{\text{coord}} \vecnf \left({W_{X} X_i^j}\right) \,,\quad X_i^j = \left[ q_{x_1, i}^j \; q_{y_1, i}^j \; q_{x_2, i}^j \; q_{y_2, i}^j \; x_{2, i}^j \; y_{2, i}^j \right] \in \mathbb{R}^{257\times 6} \,.
\end{equation}
Here, $\vecnf(\cdot)$ denotes the vectorization of a matrix.

\textbf{Index embedding.}
Similar to \cite{child2019sparse_transformer},  we finally use a learned index embedding\footnote{Known as \textit{positional embedding} in the Natural Language Processing literature~\cite{vaswani2017transformer}.} that indicates the index of the command in the given sequence using the weight $W_{\text{ind}} \in \mathbb{R}^{d_E \times N_S}$ as $e_{\text{ind}, i}^j = W_{\text{ind}} ~ \delta_{j} \in \mathbb{R}^{d_E}$, where $\delta_j$ is the one-hot vector of dimension $N_S$ filled with a $1$ at index $j$.

\subsection{Hierarchical Generative Network}
\label{sec:architecture}
In this section, we describe our Hierarchical Generative Network architecture for complex vector graphics interpolation and generation, called DeepSVG. A schematic representation of the model is shown in Fig.~\ref{fig:selfmatch}.
Our network is a variational auto-encoder (VAE)~\cite{kingma2013vae}, consisting of an encoder and a decoder network. Both networks are designed by considering the hierarchical representation of an SVG image, which consists of a set of paths, each path being a sequence of commands.

\textbf{Feed-forward prediction.}~
For every path, we propose to predict the $N_C$ commands $(\hat{c}_i^j, \hat{X}_i^j)$ in a purely feed-forward manner, as opposed to the autoregressive strategy used in previous works~\cite{ha2017sketchrnn, lopes2019svgvae}, which learns a model predicting the next command conditioned on the history.
Our generative model is thus factorized as,
\begin{equation}
\label{eq:gen-model}
    p\left(\hat{V}| z, \theta\right) = \prod_{i=1}^{N_P} p(\hat{v}_i| z, \theta) p(\hat{f}_i| z, \theta) \prod_{j=1}^{N_C} p(\hat{c}_i^j| z, \theta) p(\hat{X}_i^j| z, \theta) \,,
\end{equation}
where $z$ is the latent vector and $p(\hat{X}_i^j| z, \theta)$ further factorizes into the individual arguments.

We found our approach to lead to significantly better reconstructions and smoother interpolations, as analyzed in Sec.~\ref{sec:experiments}.
Intuitively, the feed-forward strategy allows the network to primarily rely on the latent encoding to reconstruct the input, without taking
advantage of the additional information of previous commands and arguments. Importantly, a feed-forward model brings major advantages during training, since inference can be directly modeled during training. On the other hand, autoregressive methods~\cite{graves2013seq_rnn, vaswani2017transformer} condition on ground-truth to ensure efficient training through masking, while the inference stage conditions on the previously generated commands.

\textbf{Transformer block.}~
Inspired by the success of transformer-based architectures for a variety of tasks \cite{ribeiro2020sketchformer, transformer_imgcaptioning, child2019sparse_transformer, transformer_questanswering}, we also adopt it as the basic building block for our network. Both the Encoders and the Decoders are Transformer-based. Specifically, as in \cite{ribeiro2020sketchformer}, we use $L=4$ layers, with a feed-forward dimension of 512 and $d_E=256$.

\textbf{Encoder.}~ To keep the permutation invariance property of the paths set $\{P_i\}_1^{N_P}$, we first encode every path $P_i$ independently using \emph{path encoder} $E^{(1)}$. More specifically, $E^{(1)}$ takes the embeddings $(e_i^j)_{j=1}^{N_C}$ as input and outputs vectors $({e'}_i^j)_{j=1}^{N_C}$ of same dimension.
To retrieve the single $d_E$-dimensional path encoding $u_i$, we average-pool the output vectors along the sequential dimension.
The $N_P$ path encodings $\{u_i\}_1^{N_P}$ are then input in encoder $E^{(2)}$ which, after pooling along the set-dimension, outputs the parameters of a Gaussian distribution $\hat{\mu}$ and $\hat{\sigma}$.
Note how the index embedding in vector $e_i^j$ enables $E^{(1)}$ to reason about the sequential nature of its input while $E^{(2)}$ maintains the permutation invariance of the input paths. The latent vector is finally obtained using the reparametrization trick \cite{kingma2013vae} as $z = \hat{\mu} + \hat{\sigma} \cdot  \epsilon$, where $\epsilon \sim \mathcal{N}(0, I)$.

\textbf{Decoder.}~ The decoder mirrors the two-stage construction of the encoder. $D^{(2)}$ inputs the latent vector $z$ repeatedly, at each transformer block, and predicts a representation of each shape in the image.
Unlike the corresponding encoder stage, permutation invariance is not a desired property for $D^{(2)}$, since its  purpose is to generate the shapes in the image. We achieve this by using a learned index embedding as input to the decoder. The embeddings are thus distinct for each path, breaking the symmetry during generation.
The decoder is followed  by a Multilayer Perceptron (MLP) that outputs, for each index $1 \leq i \leq N_P$, the predicted path encoding $\hat{u}_i$, filling $\hat{f}_i$ and visibility $\hat{v}_i$ attributes. Symmetrically to the encoder, the vectors $\{\hat{u}_i\}_1^{N_P}$ are decoded by $D
^{(1)}$ into the final output path representations $\{(\hat{C}_i^1, \cdots, \hat{C}_i^{N_C})\}_1^{N_P}$. As for $D^{(2)}$, we use learned constant embeddings as input and a MLP to predict the command and argument logits. Detailed descriptions about the architectures are given in the appendix.

\begin{figure}[t]
    \centering
    \includegraphics[width=1.0\textwidth]{images/selfmatch2.pdf}
    \vspace{-4mm}
    \caption{Our Hierarchical Generative Network, \emph{DeepSVG}. Input paths $\{P_i\}_1^{N_P}$ are encoded separately using the path encoder $E^{(1)}$. The encoded vectors are then aggregated using the second encoder $E^{(2)}$, which produces the latent vector $z$. The decoder $D^{(2)}$ outputs the path representations along with their fill and visibility attributes $\{(\hat{u}_i, \hat{f}_i, \hat{v}_i)\}_1^{N_P}$. Finally $\{\hat{u}_i\}_1^{N_P}$ are decoded independently using the path decoder $D^{(1)}$, which outputs the actual draw commands and arguments.}
    \label{fig:selfmatch}
    \vspace{-6mm}
\end{figure}

\newcommand{{\hat{\imath}}}{{\hat{\imath}}}

\newcommand{i}{i}
\newcommand{\iprim}{{\hat{\imath}}}

\newcommand{\ell}{\ell}

\subsection{Training Objective}
\label{sec:loss_matching}
Next, we present the training loss used by our DeepSVG. We first define the loss between a predicted path $(\hat{S}_\iprim, \hat{f}_\iprim, \hat{v}_\iprim)$ and a ground-truth path $(S_{i}, f_{i}, v_{i})$ as,
\begin{equation}
    L_{\iprim, i}(\theta) = w_{\text{vis}} \ell(v_{\iprim}, \hat{v}_{i}) + v_{i} \cdot \Bigg( w_{\text{fill}} \ell(f_{\iprim}, \hat{f}_{i}) + \sum_{j=1}^{N_C} \Big( w_{\text{cmd}} \ell(c_{\iprim}^j, \hat{c}_i^j) + w_{\text{args}} ~  l_{\text{args}, \iprim, i}^j \Big)\Bigg).
\end{equation}
Here, $\ell$ denotes the Cross-Entropy loss. The impact of each term is controlled by its weight $w$. The losses for filling, commands and arguments are masked when the groundtruth path is not visible. The loss $l_{\text{args}, \iprim, i}^j$ over the argument prediction is defined as,
\begin{align}
    l_{\text{args}, \iprim, i}^j = \bm{1}_{c_{i}^j \in \{\texttt{m}, \texttt{l}, \texttt{c}\}} \! \left( \ell(x_{2, \iprim}^j, \hat{x}_{2, i}^j) \!+\! \ell(y_{2, \iprim}^j, \hat{y}_{2, i}^j) \right) + \bm{1}_{c_{i}^j = \texttt{c}} \!\! \sum_{k\in\{1,2\}} \!\!\!\ell(q_{x_k, \iprim}^j, \hat{q}_{x_k, i}^j) \!+\! \ell(q_{y_k, \iprim}^j, \hat{q}_{y_k, i}^j).
\end{align}
Having formulated the loss for a single path, the next question regards how to this can be used to achieve a loss on the entire prediction. However, recall that the collection of paths in a vector image has no natural ordering, raising the question of how to assign ground-truth paths to each prediction.
Formally, a ground-truth \emph{assignment} $\pi$ is a permutation $\pi \in \mathcal{S}_{N_P}$, mapping the path index of the prediction $\iprim$ to the corresponding ground-truth path index $i = \pi(\iprim)$.
We discuss two alternatives for solving the ground-truth assignment problem.

\begin{figure}[b]
    \centering
    \includegraphics[width=1.0\linewidth]{images/comparison_interpolation2.pdf}
    \vspace{-5mm}
    \caption{Comparison of interpolations between one-stage autoregressive (top row, in green), one-stage feed-forward (2\textsuperscript{nd} row, in pink), ours -- Hungarian (3\textsuperscript{rd} row, in orange) and ours -- ordered (bottom row, in blue). Ordered generally leads to the smoothest interpolations. The last two examples show interpolations where Hungarian yields visually more meaningful shape transitions. For a better visualization of these transitions, paths are colored according to their index (or order for one-stage architectures).}
    \label{fig:interpolations_comparison}
\end{figure}

\textbf{Ordered assignment.}~
One strategy is to define the assignment $\pi$ by sorting the ground-truth paths according to some specific criterion. This induces an ordering $\pi_\text{ord}$, which the network learns to reproduce. We found defining the ground-truth assignment using the lexicographic order of the starting location of the paths to yield good results. Given any sorting criterion, the loss is defined as,
\begin{equation}
\label{eq:loss-ordered}\textstyle
L(\theta) = w_{\text{KL}} \text{KL}\left(p_\theta(z) \| \mathcal{N}(0, I)\right) +  \sum_{\iprim=1}^{N_P} L_{\iprim, \pi_{\text{ord}}(\iprim)}(\theta) \,,
\end{equation}
where the first term corresponds to the latent space prior induced by the VAE learning.

\textbf{Hungarian assignment.}~
We also investigate a strategy that does not require defining a sorting criterion. For each prediction, we instead find the best possible assignment $\pi$ in terms of loss,
\begin{equation}
    \label{eq:loss-hungarian}\textstyle
    L(\theta) = w_{\text{KL}} \text{KL}\left(p_\theta(z) \| \mathcal{N}(0, I)\right) +  \min\limits_{\pi \in \mathcal{S}_{N_P}} \sum_{\iprim=1}^{N_P} L_{\iprim, \pi(\iprim)}(\theta) \,.
\end{equation}
The best permutation is found through the Hungarian algorithm~\cite{kuhn1955hungarian, munkres1957algorithms}.

\textbf{Training details. }
We use the AdamW~\cite{loshchilov2017adamW} optimizer with initial learning rate $10^{-4}$, reduced by a factor of $0.9$ every $5$ epochs and a linear warmup period of $500$ initial steps. We use a dropout rate of $0.1$ in all transformer layers and gradient clipping of $1.0$.
We train our networks for 100 epochs with a total batch-size of 120 on two 1080Ti GPUs, which takes about one day.

\subsection{Ablation study}

\definecolor{trainresgray}{gray}{0.45}
\newcommand{\textcolor{trainresgray}}{\textcolor{trainresgray}}

\begin{table}[t]
\vspace{-1mm}
\centering%
\caption{Ablation study of our DeepSVG model showing results of the human study (1\textsuperscript{st} rank \% and average rank), and quantitative measurements (RE and IS) on train/test set.}\vspace{-2mm}
\resizebox{0.8\textwidth}{!}{%
 \begin{tabular}{lccccccc}
 \toprule
  & Feed-forward& Hierarchical & Matching & 1\textsuperscript{st} rank \% $\uparrow$ & Average rank $\uparrow$ & RE $\downarrow$ & IS $\downarrow$ \\
 \midrule
 One-stage autoregressive  & & & & 9.7 & $3.26$ & \textcolor{trainresgray}{0.102} / 0.170 & \textcolor{trainresgray}{0.25} / 0.36 \\
 One-stage feed-forward & \checkmark & & & 19.5 & $2.40$ & \textbf{\textcolor{trainresgray}{0.007}} / 0.014 & \textcolor{trainresgray}{0.12} / 0.17 \\
 Ours -- Hungarian & \checkmark & \checkmark & Hungarian & 25.8 & $2.29$ & \textcolor{trainresgray}{0.011} / 0.017 & \textcolor{trainresgray}{0.09} / 0.14 \\
 \textbf{Ours -- Ordered} & \textbf{\checkmark} & \textbf{\checkmark} & \textbf{Ordered} & \textbf{44.8} & \bm{$1.99$} & \textbf{\textcolor{trainresgray}{0.007}} / \textbf{0.012} & \textbf{\textcolor{trainresgray}{0.08}} / \textbf{0.12} \\
 \bottomrule
 \end{tabular}}
 \vspace{-5mm}
\label{tab:ablation}
\end{table}

In order to ablate our model, we first evaluate an autoregressive one-stage architecture by concatenating the set of (unpadded) input sequences, sorted using the Ordered criterion \ref{sec:loss_matching}. The number of paths therefore becomes $N_P=1$ and only Encoder $E^{(1)}$ and Decoder $D^{(1)}$ are used; filling is ignored in that case.
We analyze the effect of feed-forward prediction, and then our hierarchical DeepSVG architecture, using either the Ordered or Hungarian assignment loss \ref{sec:loss_matching}.

\textbf{Human study. }
We conduct a human study by randomly selecting 100 pairs of SVG icons, and showing the interpolations generated by the four models to 10 human participants, which rank them best (1) to worst (4). In Tab.~\ref{tab:ablation} we present the results of this study by reporting the percentage of 1\textsuperscript{st} rank votes, as well as the average rank for each model. We also show qualitative results in Fig.~\ref{fig:interpolations_comparison}, here ignoring the filling attribute since it is not supported by one-stage architectures.

\textbf{Quantitative measures. }
To further validate the performance of DeepSVG, we conduct a quantitative evaluation of all the methods. We therefore here propose two vector image generation metrics. We first define the Chamfer distance between two SVGs: $d_\text{Chfr}(V,\hat{V}) = \frac{1}{N_P} \sum_{i=1}^{N_P} \min_j \int_{t} \min_{\tau} \|P_i(t)  - \hat{P}_j(\tau)\|_{2} dt$, where $P_i \in V$ is a path as defined in \ref{sec:data}. The
\emph{Reconstruction Error} (RE) is $d_\text{Chfr}(V,\hat{V})$ where $V$ and $\hat{V}$ are the ground-truth and reconstruction. The \emph{Interpolation Smoothness} (IS) is defined as
$\sum_{k=1}^M d_\text{Chfr}(V^{\alpha_{k-1}},V^{\alpha_{k}})$, where $M$ is the number of frames, $\alpha_k = k/M$ and $V^\alpha$ is the predicted SVG interpolation parametrized by $\alpha \in [0,1]$. Results on train and test sets are shown in Tab.~\ref{tab:ablation}.

Compared to the autoregressive baseline, the use of feed-forward prediction brings substantial improvement in reconstruction error and interpolation quality, as also confirmed by the qualitative results. In the human study, our hierarchical architecture with ordered assignment yields superior results.
Although providing notably better reconstruction quality, this version provides much more stable and meaningful interpolations compared to the other approaches. The Hungarian assignment achieves notably worse results compared to ordered assignment in average. Note that the latter is more related to the loss employed for the one-stage baselines, although there acting on a command level.
We hypothesize that the introduction of a sensible ordering during training helps the decoder learning by providing an explicit prior, which better breaks symmetries and reduces competition between the predicted paths.
Fig.~\ref{fig:bilinear} further shows how the latent SVG representation translates to meaningful decodings by performing interpolation between 4 SVG icons.

\subsection{Animation by interpolation}
As visually demonstrated in the previous subsection, we observe significantly better reconstruction capability of our model than previous works.
This property is crucial for real-world applications involving SVGs since users should be able to perform various operations on vector graphics while keeping their original drawings unchanged. With this requirement in mind, we examine if DeepSVG can be used to animate SVGs. We investigate \emph{interpolation} as one approach to perform it, in the setting where a user provides two keyframes and wants to generate frames inbetween using shape morphing. This process can be repeated iteratively -- adding a hand-drawn keyframe at every step -- until a satisfying result is achieved. Fig.~\ref{fig:svg_animation} shows the results of challenging scenes, after finetuning the model on both keyframes for about 1,000 steps. Notice how DeepSVG handles well both translations and deformations.

\begin{figure}
\centering
\includegraphics[width=\linewidth]{images/Animations.pdf}
\vspace{-4mm}
\caption{Animating SVG scenes by interpolation. Leftmost and rightmost frames are drawn by a user, while images in between are interpolations. DeepSVG smoothly interpolates between challenging path deformations while accurately reconstructing the 1\textsuperscript{st} and last frames. A failure case is shown in the last row where the deformation of the player's right leg is not smoothly interpolated.}
\label{fig:svg_animation}
\end{figure}

\subsection{Latent space algebra}
\label{sec:latent_algebra}

\begin{wrapfigure}{r}{0.65\linewidth}
\vspace{-8mm}
\centering
\includegraphics[width=1.0\linewidth]{images/latent_ops3.pdf}
\vspace{-5mm}
\caption{Global operations on SVG representations using latent directions. Subtracting/adding $\Delta_{\text{square}}$ makes an icon look more round/rectangular, while $\Delta_{\text{add}}$ adds or removes paths. $\Delta_{\text{add}}$ is obtained by removing the last path of an icon, and averaging the difference over 500 random icons.}
\vspace{-6mm}
\label{fig:global_latent_op}
\end{wrapfigure}

Given DeepSVG's smooth latent space and accurate reconstruction ability, we next ask if latent directions may enable to manipulate SVGs globally in a semantically meaningful way. We present two experiments in Fig.~\ref{fig:global_latent_op}. In both cases, we note $\Delta$ the difference between encodings of two similar SVGs differing by some visual semantics. We show how this latent direction can be added or subtracted to the latent vector $z$ of arbitrary SVG icons. More experiments are presented in the appendix. In particular, we examine whether DeepSVG's hierarchical construction enables similar operations to be performed on single paths instead of globally.

\subsection{Font generation}
Our experiments have demonstrated so far reconstruction, interpolation and manipulation of vector graphics. In this section, we further show the generative capability of our method, by decoding random vectors sampled from the latent space. We train our models on the SVG-Fonts dataset, for the task of class-conditioned glyph generation. DeepSVG is extended by adding label embeddings at every layer of each Transformer block. We compare the generative capability of our final model with the same baselines as in Sec.~4.1. In addition, we show random samples from SVG-VAE~\cite{lopes2019svgvae}. Results are shown in Fig.~\ref{fig:fonts_additional}. Notice how the non-autoregressive settings generate consistently visually more precise font characters, without having to pick the best example from a larger set nor using any post-processing. We also note that due to the simplicity of the SVG-Font dataset, no significant visual improvement from our hierarchical architecture can be observed here. More details on the architecture and results are shown in the appendix.

\begin{figure}[htb]
    \centering

    \noindent
    \begin{minipage}{0.07\textwidth}
        \small
        \rotatebox{90}{
            \noindent
            \begin{minipage}{13.8mm}
                \centering
                ours Ordered
            \end{minipage}
            ~
            \begin{minipage}{13.8mm}
                \centering
                ours Hungarian
            \end{minipage}
            ~
            \begin{minipage}{13.8mm}
                \centering
                one-stage feed-forward
            \end{minipage}
            ~
            \begin{minipage}{13.8mm}
                \centering
                one-stage autoregressive
            \end{minipage}
            ~
            \begin{minipage}{13.8mm}
                \centering
                SVG-VAE~\cite{lopes2019svgvae}
            \end{minipage}
        }
    \end{minipage}
    \begin{minipage}{0.92\textwidth}\raggedright
        \centering
        \includegraphics[width=\linewidth]{images/fonts_addtional_smaller.pdf}
    \end{minipage}

    \caption{Comparison of samples for font generation. We use the same latent vector $z$, sampled from a Gaussian distribution with standard deviation $\sigma=0.5$, and condition on each class label without careful selection of generated samples nor post-processing.}
    \label{fig:fonts_additional}
\end{figure}

\section{Introduction}
\input{introduction.tex}

\section{Related Work}
\input{related_work.tex}

\section{DeepSVG}
\input{approach.tex}

\clearpage

\section{Experiments}
\input{experiments.tex}

\section{Conclusion}
\input{conclusion.tex}

\section*{Broader Impact}
\input{broader_impact.tex}

\begin{ack}
This work was partly supported by the ETH Z\"urich Fund (OK), a Huawei Technologies Oy (Finland) project, an Amazon AWS grant, and an Nvidia hardware grant.
\end{ack}

\begin{small}
\printbibliography
\end{small}

\newpage
\input{appendix.tex}

\end{document}

redpajama_set_name: RedPajamaArXiv


Please enter your user name and the email linked to your Wegweiser account.
We will then send you an email with a new password.
Info: Has your email address changed? If you have forgotten your password and are no longer using the email address associated with your Wegweiser account, please contact The Wegweiser team to regain access to your account.


Members working on Groups 3 and 4 issues at negotiations.
At the beginning of negotiations, we presented our demands of special relevance to Groups 3 and 4 members. These included the creation of a new classification for heavy duty vehicle mechanics, protections from the use of Maximo for the purposes of discipline, and a special pay adjustment for all Group 3 and 4 members. For their part Canada Post management submitted a number of demands concerning the work of Groups 3 and 4 members. Most significantly CPC proposed that all plant maintenance workers be scheduled for twelve (12) hour shifts and all members would be required to work on every weekend. Also CPC proposed new job descriptions and statements of qualifications and the elimination of the apprenticeship program.
The CUPW negotiating committee, with the help of a five-member working committee comprised of Group 3 and 4 members, pushed back hard against the proposal for 12 hour shifts. The Group 3 and 4 members also explained the problems resulting from Maximo. As a result of our interventions CPC has dropped their proposal for 12 hour shifts. Also we have come to an agreement that for Groups 3 and 4 members pre-established time scales, such as Maximo, cannot be used for disciplinary reasons.
Despite these positive developments many serious issues remain unresolved. The union's demands for a new classification for heavy duty vehicle mechanics and the pay adjustment are not resolved. For its part management remains determined to require more weekend work. The issue of job descriptions and the statement of qualifications remain outstanding. And management is still determined to eliminate the apprenticeship program and replace it with a scholarship program where employees undergoing training would be required to take leave without pay instead of receiving their wages from CPC.
It is important to remember that the major rollbacks being demanded by CPC also apply to Group 3 and 4 members. Management's demands for elimination of the paid meal period, imposing a defined contribution pension for future service, eliminating the seventh week of vacation leave, increasing retiree benefit contributions, and weakening job security are all important issues for every Group 3 and 4 member. Likewise CUPW's demands for a decent wage increase, job security, no contracting out of work, service expansion, equality for RSMCs, improved health and safety provisions and better working conditions are all important for the long term future of workers at Canada Post.
We make progress when we support each other. Just as it is important that all groups support Groups 3 and 4, it is important that maintenance workers support all CUPW members including letter carriers, postal clerks and RSMCs.
By standing together we will make improvements for everyone.


text:
The Irish peace process and me
Peace brings optimism. FRA's Alice Hamilton explains her passion for access to justice and victims' rights. Growing up with a Protestant father and a Catholic mother at the height of the Troubles gave Alice a valuable insight into living in a divided Ireland. As a child, she dreamed of equal treatment in both communities – a society where you are free to marry who you choose. Now Alice shares her optimism for the future in a Europe that protects fundamental rights.
Richard Miron: This is the Fundamentally Right Podcast from the Fundamental Rights Agency. I'm Richard Miron. The FRA's part of the European Union and provides advice on people's human rights, as well as the obligations of the authorities to ensure that they're protected. The FRA's work is based upon the Charter of Fundamental Rights, which came into force 10 years ago in December 2009. In this programme, we're focusing on the personal stories of some of those working at the FRA. They talk about the experiences that led them to work in human rights and why the Charter and a particular aspect of it is so important.
This episode features Alice Hamilton, who works in the FRA's Research and Data Unit, specialising in the rights of victims of crime and the access of people to justice. Alice grew up in the Republic of Ireland at a time when there was violence in the north involving different paramilitary groups, the British army and police, with civilians caught in the middle. Her family background gave her a personal view of the conflict.
Alice Hamilton: I'm Irish. I grew up in a small town by the sea in Dublin. I had a wonderful childhood upbringing. I think from very early on, I had a sense that certain things were just very normal such as having parents with a steady income, being taken to the doctor when I was sick, holidays in France once a year. So a very, very happy, lucky childhood. I also grew up in a very political household where having the news on in the background at almost any time of day or on TV was a reality for us, and something that always then later impacted me and gave me a healthy appetite for news and politics.
So my father, he was a Protestant from Dublin and my mother was a Catholic from Northern Ireland. And so very early on, I had the sense that their union, their love had not always been something that was very simple to the ones they loved, although it seemed to me the most obvious thing in the world. Some of the key topics of the day, of course, when I was growing up in the 80s and 90s was Northern Ireland and peace, and just an understanding of how people are the same, but how hate and differences were a reality that had driven this particular society apart. And it was something that I couldn't in my child's mind understand. It was as simple as my mammy is Catholic, my daddy is Protestant, and living in Dublin, one couldn't get the real sense of that.
We were driving over the border quite often to visit family in the north, and so I did have this feeling of fear, of course going over the border, seeing British soldiers there, stopping cars. But always a sense of relief and normality, when I returned home, that this is a very secure, safe society I live in where these differences don't exist. Very, very seldom in my life was the fact that I was Protestant even an issue, or if it was, then jokingly or my friends would make fun of me in a playful way. So that was something that informed me. And as a child, I really followed the news closely, followed events there. I would hear it growing up, and really just hoped for peace and hoped that this hatred and these divisions that seemed to me so superficial would end. As a kid, I wrote a diary. It was an essay we had to do for school. It was 1993 and the essay was titled 'Things I would like to happen in 1994'. I found this recently as my parents were clearing out the house. 'So there are a lot of things I would like to happen in 1994. The first thing is that there be peace in Northern Ireland and then I would like to win 80,000 pounds in the lotto. First of all, I would stop people cutting down all the trees. Then I would buy a big car and house and keep 2,000 pounds and give the rest to charity. But any of that is unlikely to happen.' And later, I ended the essay by saying I'd also like all members of the IRA and UFF to be locked up in a big prison.
And what strikes me about reading this, seeing back into the mind of myself as an 11 year old child. I know that I got to grow up with this sense of wanted fairness. I wanted justice. I wanted solidarity, people to be unified, a sense that what are these things that are driving us apart? I wanted peace in Northern Ireland and I seemed to have a sort of negative opinion that this could happen. So flash forward to today and where I am. I think I'm a much more optimistic adult than when I was as a child. We've seen the peace process in Northern Ireland. It's a great source of pride for me to see just how quickly we've come as a society, which was still criminalising homosexuality. And in 1993, the same year I wrote that essay as an 11 year old child to today, thankfully a society where all are free to marry. That's just one example, maybe the most extreme of how, how far our socially conservative society has transitioned. I mean, one thing I would still say is there's never going to go away because as long as we have society, we're going to need to fight to keep that society, to keep equality, solidarity and all of the things that make us human. I think that, yeah, there are good things happening as well as all the bad we read every day.
Richard Miron: Alice, we've just heard about your background and the experiences which shaped you personally. Now, here at the FRA, you work as a research officer, specifically looking at access to justice and victims' rights. One of the aspects of the Charter of Fundamental Rights, is solidarity What does solidarity mean to you?
Alice Hamilton: So the Charter has a very specific Title just on solidarity. What this title contains are many rights that are bound up in this concept: workers' rights, rights to health, housing, education, also consumer rights and environmental rights. I think for me, at a very basic level, the concept of solidarity is about the needs that humans have in society. Certain things that bind us together needs exactly such as those I've just mentioned, the need to work, the need for health, for education, basic needs of food and water. And I think solidarity, it's about recognising that these needs are rights, they're human rights. And there's something that we should want for everyone just by virtue of being human and not something that we just see as we are entitled to have ourselves.
Richard Miron: This has touched on a particular aspect of your work, I assume. Can you tell me how, I mean, taking this title, how your work has crossed over with this, what you've done as a specific piece of work on this?
Alice Hamilton: Well, at FRA we actually started in-depth research into the issue of labour exploitation that touches on this issue of solidarity in terms of the right in the Charter, Article 31, to fair and just working conditions, including the right to health and dignity. This is a very, very important right. And it's something we started to research in terms of the reality of exploitation in the EU, because it's something that was little researched to date. There was much research on sexual exploitation, for example, but little was known in terms of the number or experiences of migrant workers experiencing these terrible working conditions, such as long, long hours, 14 hour days, pay of a euro or two an hour, sometimes even a day, and things going on right under our noses here in the EU, in every single country of the EU. And things that were happening not only to third-country nationals who crossed into the EU, but also to EU workers who migrate to another EU country just to make a better life and indeed pursue those rights under the charter that they are entitled to. And our research was quite sobering. I mean, it uncovered reality - having interviewed some 250 migrant workers, including at least a quarter of those EU workers themselves, about their experiences in eight Member States. And this research covered people from over 40 countries across the world. And we found the reality of workers having to hide when inspectors were coming, being locked in freezers and fridges, sleeping on shelves out in containers where they were to sleep while working in fields. Really, the findings were quite shocking and it was something quite, the first really comprehensive research evidence on this issue.
Richard Miron: Is there one case that really stood out for you, one person that really stood out for you?
Alice Hamilton: Well, I think for me as a researcher sitting in my cozy office and reading and hearing these interviews that we did, which by the way were anonymous to protect people's identity - one in particular stood out. It was a man who'd been working in the UK and he had come from an Eastern European country and he'd worked in agriculture and in construction and various jobs, and was terribly exploited. But the shocking… having read many of these stories, it's terrible to feel that you become numb to the things you read – but what really shocked me was his attitude was: 'Well, it wasn't so bad. I came to work and I did get work'. Even though he was paid five euros a day and slept in the most terrible conditions, he felt like it was maybe no more than he deserved. And this for me was shocking that a human being in an EU country, and let me stress the UK was not alone in this. These stories came up in all the countries we researched. But to have a human feel that this was no more than they deserved and that they shouldn't have rights to minimum wage and basic human dignity when sleeping, and workers' rights, all of which are enshrined in the Charter, to me was really, really shocking.
Richard Miron: There's also been other work, hasn't there, on other things that have been going on in the European Union, across the European Union, which link to solidarity?
Alice Hamilton: I think one of the most interesting pieces of research we've done recently is on the integration of young refugees in the EU. Following the so-called migration crisis in 2015, FRA decided to undertake research to find out what happened to young, young meaning aged 16 to 24, young people who arrived in the EU. And we wanted to find out what happened to them in terms of their access to education, to housing and so on. So this research was carried out in 15 locations across 6 Member States, where a lot of migration happened after 2015 and those were Austria, France, Germany, Greece, Italy and Sweden. It was particularly interesting to find out how young people, of course who are among the most vulnerable, how even they didn't always get to enjoy the rights that they deserve. So the research showed that there's a lot of promising things in these countries.
But there are also major gaps, particularly in two very important points in the lives of young refugees, that's when they turn from children to adults. And also when they get there, their right to stay, their right to be granted international protection. FRA's research was able to show all these rights as well and we've mentioned and talked about in solidarity, they impact on each other. So your right and your safe housing will have an impact on how you get on in education, will impact on your work or access to health, on all of this. So it was an important, it was important to really see what just happens to these people beyond just arriving at the EU and Member States thinking 'job done'. So the research will help Member States now to really focus on closing some of those gaps and making sure that the most vulnerable of people deserving the international protection, being children really can avail of those rights.
Richard Miron: Of course, this right to solidarity is laudable. And, of course, the work that the FRA does around this is laudable. But the question is, the research is done and these terms exist on paper. How substantial is that when it comes to really changing the reality of people's lives across the European Union?
Alice Hamilton: Well, research, as you've mentioned, it's a first step. It is important for policy and lawmakers to have evidence to then base changes in law and policy. And in terms of the issue of labour exploitation, for example, there's now a lot going on at the EU level in terms of recognition that there is a problem. One recent development is that there will be, or there was formed last year, a new European Labour Authority. And this is a new agency, for example, that's been set up to try and ensure that the rules surrounding fair labour mobility and workers' rights across the EU are respected in terms of EU workers who migrate to other countries. And that will have a role also in tackling issues such as undeclared work, where workers end up being then vulnerable to labour exploitation.
And that agency will also have a role in ensuring joint labour inspections. And that's something that our findings showed up as a real first point that needs to be tackled. And that's, that the issue of inspectors showing up on a worksite, that's where if we don't look, we don't find. So if you don't have an effective system of labour inspections, you won't find the hidden realities going on in fields, in homes where domestic workers are working all day and night looking after children and doing household chores, in construction sites, manufacturing sites, which are all particularly prone to labour exploitation. So one of the findings was this recognition of a need for a stronger inspection and that very first level to uncover the issue of labour exploitation and then moving on to ensuring that justice is done and that exploiters know that there are consequences. So there are things moving in the right direction in the EU in that respect and new laws directive came out last year as well, was adopted on the issue of transparent working conditions. So it's all about ensuring now that that we give teeth in Member States and at the EU level to the rights that are enshrined in the Charter and should not remain just there in this very important bill of EU rights.
Richard Miron: That was Alice Hamilton on the importance of human rights and of people knowing about them. If you haven't already, do listen to the other episodes in this series where you can hear how student activism led one man to work with refugees, and how growing up behind the Iron Curtain shaped the view of one woman to pursue a legal career. This podcast is being presented by me, Richard Miron, and produced by Anouk Millet. This is an Earshot Strategies production.


Is Now a Good Time to Become a Nurse Practitioner?
I recently received a question from a reader on the MidlevelU message board. The reader expressed concern that the job market for nurse practitioners was becoming saturated. A nurse herself, this individual had encouraged her daughter to go back to school to become a nurse practitioner and was second-guessing her recommendation. "I'm hoping I didn't steer her wrong...how is the job market out there?", she asked.
Like this reader, many prospective nurse practitioners I talk with have similar concerns. Going back to school to become an NP is an expensive and time consuming undertaking. One must consider if it's worth the time and financial investment to get an advanced degree. After all, what could be worse than going through a nurse practitioner program only to graduate and not find a job?.
It's true. The job market in some cities is saturated with nurse practitioners. I often talk with new NPs in places like Birmingham, AL and Nashville, TN desperate to find work. Hearing about the nation's primary care shortage, these providers never anticipated it would be difficult to find a job post-graduation. These locations, however, are home to numerous nurse practitioner schools graduating hundreds of NPs each year. Most cities can't support such a large number of healthcare providers. So, salaries become artificially low and force some providers to relocate. In contrast, in other cities, healthcare facilities are eager to bring on nurse practitioners, lacking sufficient staff to meet the needs of their patients.
Your ability to find work as a nurse practitioner depends heavily on where you live. If you know you live in a location in need of NPs, you're in the clear. Or, if you're flexible as far as where you live, you will be able to find work. Future NPs who live in saturated job markets will face a few challenges, particularly as new graduates.
Nurses can be high earners. Some RNs earn above the $100K mark even without a master's degree. These nurses may work in specialized settings, work odd hours, or have significant experience. Becoming a nurse practitioner doesn't necessarily mean you'll get a raise.
I spoke to a new NP living in California, for example, who graduated from his program only to find he couldn't replace his RN salary working as an advanced practice provider. Employment in the operating room as an RN on weekends proved to be much more profitable than employment as an NP in family practice. Disappointed, he was faced with the decision to use his advanced degree and take a pay cut, or continue with his status quo.
Don't assume that going back to school translates to higher pay. Do your due diligence when it comes to nurse practitioner salaries for your specialty in your area. Considering your current salary and situation, do the numbers add up favorably for going back to school?
The role of nurse practitioners looks a bit different in each state. Laws outlining how NPs are allowed to care for patients directly affect how desirable nurse practitioners become to employers. In states where very little oversight of nurse practitioners is required by law, job markets for NPs tend to be more favorable. Employers can use these providers more effectively. In states like Florida, where scope of practice laws are limiting, it becomes more difficult to find a nurse practitioner position. Get the lay of the land when it comes to scope of practice laws in your state. Do you live in a location that is favorable for nurse practitioners? If not, talk to NPs in your area to get their thoughts on the job market and benefits and drawbacks of advancing your education.
Your NP education's gonna cost you. A lot. Financing your education is an important piece of the decision to become a nurse practitioner (federal loan repayment options for NPs can help). Not only do you need to look at how you will pay tuition, you need to get a plan in place for repaying student loans post-graduation. Looking at your other financial obligations and the salary you can expect to earn as an NP, can you afford to go back to school? If so, where? If the numbers aren't adding up in your favor, it may be time to make some changes or press pause when it comes to furthering your education.
Do you think it's a good time to become a nurse practitioner?
I have found it very frustrating the extreme number of NP schools there now are. When I first got into NP school I was extremely proud of myself having made the cut of 30 out of 100 applicants. However, with all of the private online schools almost anyone can get in it seems. As a result, PA's and NP's alike are facing problems finding employment in my area. MDs make comments as to the lack of skills it takes now to be an NP. It has significantly made me question my career choice. I have worked hard to get through NP school only to have the degree become more and more insignificant, it seems. In addition, employers in my area have decreased salaries, taken away benefits, incorporated CEU days into total days off allowed for the year, as well as throw in non-compete clauses. I would no longer advise to go to NP school at this time in my area of West Texas.
Bill is absolutely correct! Np's make the same or less as an RN with a few years of experience in my area in Pennsylvania and NY. 250 new GN students just graduated in a BS nursing program all but a few applied to some form of advanced degree most are going for NP. The hospitals need RN's now and experienced RN's are make much more than any Np.


text:
Home ▸ Farm Management ▸ Finances
Web-based loan applications are coming to the Farm Service Agency
Agriculture.com Staff
Even to a computer geek, it might be an intimidating sight -- banks of more than 100 laptop computers, all hooked up to the same Web site, on the eighth floor of a downtown Omaha office building.
This is the room were the USDA Farm Service Agency will make the biggest leap in modernizing its loan application process since the agency's predecessor began using a paper "Farm and Home Plan" for loan applications in the 1940s. FSA makes operating and land ownership loans, including loans for beginning farmers and ranchers. It also guarantees commercial bank loans.
Monday, FSA's state heads of lending programs and other top USDA officials visited the site where USDA plans to train 2,200 lending coordinators between now and next September.
After state lending officials get a week of training, the new Web-based loan processing system will go live when they return to their states the following Monday, said Steven Rubin, a senior loan officer with FSA in Washington, D.C. The first states to use the system will be Minnesota, Vermont and New Hampshire.
"We're not just replacing a farm and home plan. We're re-engineering the way we do business," Rubin told Agriculture Online.
FSA officials conceded that there's some trepidation in the ranks over switching to more high-tech software that uses the Internet to process loan applications. But Rubin says many are also pleased that the agency is catching up with commercial lenders who already use the same software.
"I've been getting phone calls and e-mails from across the country that, finally, they'll be equal to a bank," Rubin said.
The software allows FSA loan officers to work with customers to do cash flow projections and calculate the "sweet sixteen" financial ratios used by commercial lenders to evaluate credit worthiness. The ratios include such financial indicators as return on equity and return on assets. The new application process is now called the Farm Business Plan.
Its software and Web system, Web Equity Manager, was developed by ECI of Glenwood, Iowa, which already has 6,500 commercial clients in the U.S. and Canada.
The business was started by a former hog farmer, Gary Kruse, who dreams that someday the FSA data base might be used by its borrowers to compare their financial performance with the average performance of similar borrowers -- anonymously, since each individual's financial data will remain private.
"It's all private. This is not available to the public on the Internet," Kruse said.
The system should speed up the process for banks that want to make loans to farmers with FSA loan guarantees, since loan applications and finanical information can be sent from banks to the agency more quickly through the Internet.
By the summer of 2005, FSA hopes to open up the system to farmers, so that they can make loan applications via the Internet without leaving their home of office, said Michael Yost, a Minnesota farmer and former American Soybean Association president who is now FSA's associate administrator.
"Not only is this going to expedite loans, but it will give them assistance in business planning," Yost said.
The Web-based system should be appreciated by young farmers who apply for beginning farmer loans from FSA, said Brian Wolford, the FSA state executive director for Nebraska.
"I think it gives them an opportunity to use the computers they've grown up with," he said.
For more information on Web Equity Manager and the new FSA program, visit the website below.
This is the biggest leap in modernizing the FSA's loan application process since the 1940s.
E-mail Dan: dan.looker@meredith.com
More Finances
Farmers' Working Capital Hits 10-Year Low, Economists Say
Tips for Managing Your Farm Finances
5 Ways to Save Yield While Cutting Costs
4 Ways to Reboot Your Farming Operation
All Finances
For related content and insights from industry experts, sign up for Successful Farming newsletters. Sign up
More Farm Management
How to Navigate Through This Economic Downturn in Farm Margins
Use Crop Insurance? Thank Art Barnaby
Tips For That Farmer, Landlord Conversation
Insurance for Pastures and Hayfields
Talk in Farm Business
Did you apply for prevent plant this year?
Yes, more than half my acres.
Yes, less than half of my acres.
I just want to see other peoples' answers.


This Nigerian Girl Spending Her Life In A Plastic Bowl And The Reason Is Really Heartbreaking…!
Every now and then we see people taking birth with different kinds of abnormalities. But we never give it much thought because we know that we are not suffering from such dire situations. We can't even imagine what they have to go through because of their abnormalities.


The Requirement of Maintaining the Minimum Entry Criteria (MEC) - Canada Immigration and Visa Information. Canadian Immigration Services and Free Online Evaluation.
Situations could arise where candidates find that changes in their circumstances negatively affect their Comprehensive Ranking System (CRS) scores. In this scenario, the applicant's situation would typically change between the time they receive the Invitation to Apply (ITA) to the time they submit their electronic Application for Permanent Residence (e-APR).
In this scenario, these individuals would need to decline their Invitations to Apply (ITAs). This is in accordance with the Express Entry Ministerial Instructions.
In addition, the officers would also need to assess whether they could refuse the application for failing to meet the minimum requirements of the federal program to which the applicants have applied. On refusing the applications, the officers would need to invoke all the relevant and applicable grounds. Officers would also need to consider situations to find misrepresentations, wherever applicable.


The Gtk.TextTagTable implementation of the Gtk.Buildable interface supports adding tags by specifying "tag" as the "type" attribute of a <child> element.
Creates a new Gtk.TextTagTable. The table contains no tags by default.
tag must not be in a tag table already, and may not have the same name as an already-added tag.
Calls func on each tag in self , with user data data . Note that the table may not be modified while iterating over it (you can't add/remove tags).
The tag, or None if none by that name is in the table.
Remove a tag from the table. If a Gtk.TextBuffer has self as its tag table, the tag is removed from the buffer. The table's reference to the tag is removed, so the tag will end up destroyed if you don't have a reference to it.
tag (Gtk.TextTag) – the added tag.
tag (Gtk.TextTag) – the changed tag.
tag (Gtk.TextTag) – the removed tag.


To setup AwesomeValidation, we need to add this library as a dependency in build.gradle.
And you are done with your form validation.
I hope this article will help you writing good validation code for your forms.


text:
La Universidad de Carleton es una universidad canadiense, ubicada en Ottawa, Canada.

Fundada como una pequeña universidad en 1942, Carleton ofrece más de 65 programas en una amplia gama de disciplinas. Carleton ha sido constantemente clasificada entre las diez mejores universidades integrales en Canadá. Más de 2.000 profesores a tiempo parcial y tiempo completo enseñan a unos 25.000 estudiantes (incluyendo un récord de 6000 recién llegados para el año académico 2011-2012) procedentes de más de 147 países, que estudian para un grado de Licenciatura, Maestría o Doctorado.

La Universidad fue nombrada por el condado de Carleton Ontario, que incluía la ciudad de Ottawa en el momento que Carleton fue fundada. El condado de Carleton, a su vez, fue nombrado en honor de Guy Carleton,  barón de Dorchester, uno de los primeros gobernadores generales de la Norteamérica Británica.

Enlaces externos
 Universidad de Carleton (en inglés)

Educación en Ottawa
Carleton
Instituciones educativas establecidas en 1942

redpajama_set_name: RedPajamaWikipedia