text:
Marshall Forest
Marshall Forest Preserve
Floyd County, Georgia
Nearest city
34°15′03″N 85°11′43″W / 34.25089°N 85.19537°W / 34.25089; -85.19537Coordinates: 34°15′03″N 85°11′43″W / 34.25089°N 85.19537°W / 34.25089; -85.19537
311 acres (126 ha)
www.nature.org/ourinitiatives/regions/northamerica/unitedstates/georgia/placesweprotect/marshall-forest-preserve.xml
U.S. National Natural Landmark
Marshall Forest is located in Floyd County, in Georgia, 5 miles (8.0 km) outside the Rome city limits. It is one of the few remaining old-growth forests in Northwest Georgia. Marshall Forest is referred to as the only virgin forest within city limits of any city in the USA.[1] The forest is 311 acres (126 ha).[2] Trees in Marshall Forest range from 600–900 feet (180–270 m) in elevation. More than 300 species of plants, and fifty-five tree species live within the forest, together with numerous animals indigenous to the area.
2 Forest life
3 Recreation
Once a part of the Cherokee Nation, the 311 acres (126 ha) were bought by the Marshall family in 1880. The land was passed down the Marshall family until it reached Maclean Marshall, naturalist and philanthropist, who had the land dedicated as a Natural National Landmark on October 12, 1966. Marshall Forest was the first Natural National Landmark in the state of Georgia.[3] In 1976, 100 acres (40 ha) of forest and 120 acres (49 ha) of fields were given to The Nature Conservancy. In 1985, 70 acres (28 ha) were added to the forest on the Mt. Alto side. These parts were not part of the original purchase by the Marshall family. Now only seventy-five to one hundred acres of the original forest remain uncut.
Forest life
Marshall Forest supports more than three hundred species of plants. Among them is the endangered Large-flowered Skullcap. The forest houses the largest population of these flowers in the state of Georgia and the second largest population in the United States. Several kinds of mushrooms also grow in the forest. The forest contains fifty-five trees species, such as pine-oak, chestnut oak, and mixed hardwoods.[4]
Numerous indigenous animals call the forest home. Some of these include frogs, salamanders, and snakes. There are at least six different species of snakes in the forest. Dozens of different kinds of birds also live in among them.
Marshall Forest contains five self-guided walking trails, primarily on the Southwest side of the forest. The trails provide informational aides, including plant identification tags, and twenty stop-and-observe stations, with signs in both Braille and English. The Big Pine Braille Trail, is made specifically for the visually impaired. The trails are not cut over, allowing the undergrowth to spread onto the pathway.[5] Access to the forest is by appointment with the Nature Conservancy.[6]
Endangered large flowering skullcap
The forest is managed in part by two groups –Friends of Marshall Forest and the Georgia Chapter of the Nature Conservancy. The Nature Conservancy, founded nationally in 1951, has managed Marshall Forest for five years. Volunteers assist in nonprofit work such as boundary marking and removal of invasive species.[6]
^ "RN-T.com - Marshall Forest". Romenews-tribune.com. Retrieved 2012-08-17.
^ "Marshall Forest - U.S. National Natural Landmarks on". Waymarking.com. Retrieved 2012-08-17.
^ "The Garden Club of Georgia, Inc. | Support the Club". Uga.edu. Retrieved 2012-08-17.
^ "Georgia | Mountains | The Great Valley". Sherpa Guides. Retrieved 2012-08-17.
^ "Marshall Forest - Guide to Rome Georgia". RomeGeorgia.com. 1966-10-12. Retrieved 2012-08-17.
^ a b "Protect Georgia Natural Preservation | The Nature Conservancy". Nature.org. 2011-07-13. Retrieved 2012-08-17.
Marshall Forest Preserve Nature Conservancy
Marshall Forest National Park Service
Georgia (U.S. state) portal
Forestry portal
Protected areas of Georgia
National Historical Parks,
historic sites and military parks
Andersonville NHS
Jimmy Carter NHS
Martin Luther King Jr. NHP
Kennesaw Mountain National Battlefield Park
Ocmulgee Mounds NHP
Fort Pulaski
Banks Lake
Blackbeard Island
Bond Swamp
Harris Neck
Okefenokee
Wassaw
Wolf Island
Big Frog Wilderness
Blood Mountain Wilderness
Brasstown Wilderness
Cumberland Island National Seashore
Ellicott Rock Wilderness
Okefenokee Wilderness
Raven Cliffs Wilderness
Rich Mountain Wilderness
Southern Nantahala Wilderness
Tray Mountain Wilderness
Wild and scenic rivers
Chattooga River
National trails
Pinhoti National Recreation Trail
Other protected areas
Chattahoochee River National Recreation Area
Gray's Reef National Marine Sanctuary
Sapelo Island National Estuarine Research Reserve
Amicalola Falls
Black Rock Mountain
Buck Shoals
Chattahoochee Bend
Cloudland Canyon
Don Carter
F.D. Roosevelt
Florence Marina
Fort Yargo
General Coffee
George L. Smith
George T. Bagby
Georgia Veterans
Gordonia-Alatamaha
Hard Labor Creek
James H. "Sloppy" Floyd
John Tanner
Laura S. Walker
Little Ocmulgee
Moccasin Creek
Panola Mountain
Providence Canyon
Red Top Mountain
Reed Bingham
Richard B. Russell
Sapelo Island
Skidaway Island
Smithgall Woods
Sprewell Bluff
Standing Boy Creek
Stephen C. Foster
Sweetwater Creek
Tallulah Gorge
Tugaloo
Victoria Bryant
Watson Mill Bridge
Historic parks
and sites
A.H. Stephens
Chief Vann House
Etowah Indian Mounds
Fort McAllister
Fort King George
Fort Morris
Hofwyl-Broadfield Plantation
Jarrell Plantation
Jefferson Davis Memorial
Kolomoki Mounds
Lapham-Patterson House
Little White House
New Echota
Pickett's Mill Battlefield
Robert Toombs House
Wormsloe
Bartram
Broxton Rocks
Dixon Memorial
Spirit Creek
Centennial Olympic Park
Charlie Elliott Wildlife Center
Radium Springs
County,
Chehaw Park
Cobb County Parks
McIntosh Reserve
Murphey Candler Park
Okefenokee Swamp Park
Robert G. Hunter Memorial Park
Roswell Recreation and Parks
Seaborn Jones Memorial Park
Shaking Rock Park
Forests and
Autrey Mill Nature Preserve & Heritage Center
Fernbank Forest
Morningside Nature Preserve
Phinizy Swamp Nature Park
Reynolds Nature Preserve
Nature and environmental
education centers
Birdsong Nature Center
Cochran Mill Nature Center
Dauset Trails Nature Center
Dunwoody Nature Center
Georgia Nature Center
Grand Bay Wetland Education Center
Melvin L. Newman Wetlands Center
Oatland Island Wildlife Center
Oxbow Meadows Environmental Learning Center
Panola Mountain State Park Nature Center
Sandy Creek Nature Center
Savannah-Ogeechee Canal Museum & Nature Center
Tidelands Nature Center
Tybee Island Marine Science Center
West Atlanta Watershed Alliance Outdoor Activity Center
Retrieved from "https://en.wikipedia.org/w/index.php?title=Marshall_Forest&oldid=807772662"
Protected areas of Floyd County, Georgia
Forests of Georgia (U.S. state)
National Natural Landmarks in Georgia (U.S. state)
Rome, Georgia
Protected areas established in 1966
Nature Conservancy preserves
Braille trail sites


Engineers play a crucial role in shaping infrastructure of a society. They are the ones who touche every aspect of the daily life.
An engineer is responsible of building and maintaining machines, engines or public works. An engineer applies the basics of maths and physics in his different constructional and technical jobs.
Apart from having the right attitude, one must also have the requisite educational background to be able to shine as an engineer. One needs to choose his or her area of interest and functional area to get started.
One needs to be inquisitive in nature and have love for the technical aspects to excel in this field. Good academic background shall help one get into a reputed engineering institute.
One can prepare a list of the preferred universities and colleges and prepare himself for the entrance examinations. Details of the prospective jobs are available online that shall help one know about the wide range of available options.
Duration of your course shall be of 4 years and the engineering degree shall be awarded upon successful completion of the course.
One shall be able to work as an engineer in private or government sector thereafter.
The studies have been divided into 8 semesters that are completed in 4 years. Each of the semesters is of 6 months. The initial 2 semesters have a uniform syllabus for all the entrants.
Specialisations start from the next semester. One needs to aim for decent GPA in the semesters. Final assessment is done after completion of all semesters.
There are practical and theoretical courses included that involves workshops and training sessions for the students. These help students to adapt themselves to the theoretical principles and apply them in practical life.
AICTE (ALL India Council for Technical Education) is a statutory organisation that takes care of different aspects of the technical courses in India. There are also plenty of other institutes that grant engineering colleges. It is necessary to seek permission of these bodies before offering a course.
There are plenty of job opportunities for engineers in India and abroad. Apart from the public sector, you can also expect openings in the government sector. You may also look forward to work as a technical staff in the military sector. Today, there are also scopes for you to develop your own business entity. Thus, you get plenty of options to choose from.
Compared to other sectors engineers are very well paid. Campus placements and a good GPA score shall help you get better placed in the campus interviews. Like the MNCs, the government sector also pays off respectable salary to the deserving candidates. Even if one starts off with a low pay package as a fresher, he shall start drawing a handsome pay package with experience.
IT BHU, Engineering college of Guindy, ANNA University,IIT Kharagpur, Kanpur, Delhi, Bombay, Madras, Guwahati, Roorkee, Pilani, National Institutes of Technology is some of the top engineering colleges in India.
There are several polytechnic institutes in different states that offer diploma courses after completion of the 10th class. These institutes are affiliated to their respective state governments. Some of the polytechnic institutes are Government Polytechnic - Mumbai, Government Polytechnic - Nagpur, Government Polytechnic - Anantnag, Jammu & Kashmir, Government Polytechnic - Lucknow, Government Polytechnic - Barabanki, Government Polytechnic - Nainital, and Government Polytechnic - Nilokheri.
As you can see there are plenty of career opportunities in the engineering sector in India. If you wish to pursue a career in this field, you must do detailed research to start and to become a successful engineer.


Anyone else getting a frequent scrambled screen here? Duplicate text & images overlapping and broken up. Usually can be cleared with a left click. It used to happen sometimes I think when someone posted a huge oversize image.
WVBU wrote: I was on the way to the game and couldn't log on ,[b] my wife said "you didn't get drunk and post something stupid did you " I said maybe but nothing out of the normal..
DT wrote: I have my settings on DLST but my clock for posts, isn't updating, any suggestion?
I have mine set for Eastern Standard Time now and it's correct. Also click the "no" button right under it on Board Preferences where it says DST is in effect.
You just HAD to drag bait me into this!


This is perfect for a student who wants to focus on studying and doesn't have to worry about buying groceries, cooking meals, and cleaning, as we do all that for you. We even provide a homemade packed lunch for school. We are experienced homestay hosts and have had students from China, Vietnam, Singapore, Kuwait, Qatar, and Japan.
We are looking for a quiet, clean, friendly student and we have a strict policy against smoking, drugs, or heavy drinking.
You would share a bathroom with a female VIU student.
Your room contains everything you need including a bed, desk with chair and lamp, closet, night table with alarm clock/radio, and dresser.
We are located in Cinnebar/Extension in South Nanaimo which is about a 9-minute drive from Vancouver Island University (VIU). There is a bus stop just an 8-minute walk away, but it does require 2 buses to get to VIU from here (about 45-50 minutes total travel time), although it is best if you have a vehicle. Alternatively, we can provide private car rides to and from VIU for a fee.
We have a very friendly Golden Retriever who is a part of the family so you must be okay with dogs and dog hair (we vaccuum constantly, but he's a golden retriever and they shed a lot).
One of us works from a home office and the other works casual shifts at the hospital so at least one of us is home almost all the time. We currently have a 24-year-old female student upstairs as well.
Thanks, we look forward to hearing from you!
House Rules: no smoking/vaping, drugs, or loud partying.
Your room contains everything you need including a brand new bed with brand new sheets, new desk with chair, closet, night table with alarm clock/radio, and dresser.
This is only available for a female since the bathroom is shared with another female student.
Everything is included; breakfast is self-serve and we will provide lunch and dinner. We even provide a homemade packed lunch for school. We are experienced homestay hosts and have had students from China, Vietnam, Singapore, Kuwait, Qatar, and Japan.
We are located in Cinnabar/Extension in South Nanaimo which is about a 9-minute drive from Vancouver Island University (VIU). There is a bus stop just an 8-minute walk away, but it does require 2 buses to get to VIU from here (about 45-50 minutes total travel time), so it is best if you have a vehicle.
We have a very friendly Golden Retriever who is a part of the family so you must be okay with dogs and dog hair (we vacuum constantly, but he's a golden retriever and they shed a lot).
One of us works from a home office and the other works casual shifts at the hospital so at least one of us is home almost all the time. We currently have a 25-year-old female student upstairs, as well as a young Chinese couple who share the big room downstairs who are both 22.
The room is located on the lower floor of the house and is absolutely massive! In fact, it takes up over half of the entire floor of the house. It is 600 square feet and has 3 sections: a bedroom section, a living room section, and a large study room. It even has its own 4-piece private bathroom! It is almost like a small apartment, only it has no kitchen.
Your room contains everything you need including a new bed with sheets, desk with chair and lamp, armoir, night table with alarm clock/radio, and dresser.
In addition, unlike the other rooms in the house, the Huge Room has a mini-fridge/freezer, 52-inch TV with XBox One, exercise bike, weights, bookshelf, desk, sofa, coffee table, lamps, and electric guitar!
We are located in South Nanaimo which is about an 8-9 minute drive from Vancouver Island University (VIU), and there is a bus stop just an 8-minute walk away, although two buses are needed to go to VIU, for a total travel time of 1 hour by bus.


text:
Zgornji Brnik (; in older sources also Zgornji Bernik, ) is a village in the Municipality of Cerklje na Gorenjskem in the Upper Carniola region of Slovenia.

The church in the village is dedicated to John the Baptist. Remains of a Gothic presbyterium have been excavated, but the current church dates to 1742.

The central part of Ljubljana Jože Pučnik Airport is built within the territory of Zgornji Brnik. The head office of Adria Airways was located on the airport property in Zgornji Brnik until the airline ceased operations in 2019.

References

External links

Zgornji Brnik on Geopedia

Populated places in the Municipality of Cerklje na Gorenjskem

redpajama_set_name: RedPajamaWikipedia


text:
Q: Adding spaces between strings in Ruby file = File.new("pastie.rb", "r")
    while (line = file.gets)
       labwords = print line.split.first
    end
file.close

How do I add spaces between the strings? Right now the output is one giant string. I figure I need to use .join or .inject somehow, but my Ruby syntax skills are poor right now, I am still a  beginner. I also need to skip indented spaces in the files paragraph. But I have no clue how to do that.

A: Setting something to the result of a print is a bit messy. You probably don't mean to do that. Instead, try:
labwords = line.split

print labwords.join(' ')

If you want to skip certain lines, this is the pattern:
while (line = file.gets)
  # Skip this line if the first character is a space
  next if (line[0,1] == " ")

  # ... Rest of code
end

You can also clean up that File.new call like this:
File.open('pastie.rb', 'r') do |file|
  # ... Use file normally
end

That will close it for you automatically.

A: You could use strip to remove all the white space.
file = File.new("pastie.rb", "r")
lines = []
file.each_line do |line|
   lines << line.strip.split
end
file.close
puts lines.map { |line| line.join(" ") }.join(" ")

redpajama_set_name: RedPajamaStackExchange


We have all come to learn and understand how important Search Engine Optimization (SEO) is. The search behavior of individuals and the quality of content we engage with are harmoniously computed to ensure that businesses come out on top of a search engine results page (SERP), and the users are happy with the results. That is – if Google and SEO specialists have done their homework.
If you're perplexed with one of life's unanswered questions or needs – go to Google. If you're looking for products, join the 310 million active users and head to Amazon. As more and more people skip Google to review and gain product knowledge, making sure your product appears on the first SERP is essential. So, if we're talking about Amazon marketing – how is this done?
A9 is Amazon's search engine algorithm, and it ensures that impending transactions run smoothly. This means, as individuals search for any given product – the results curated should be two things; relevant and highly recommended by other Amazon users. These two categories are the foundation of optimizing your products – they are your ranking factors.
Your relevance ranking factors are completely in your control. The correct usage of keywords can make you a top seller, claiming your spot on the first page. The following areas are especially important to keep in mind when implementing your relevant keywords.
Product-title – This is a big one. When optimizing your product name, it's important to include product details such as quantity, dimensions, color, and essential ingredients. What's more, always include your brand name and a decent description of what your product is doing.
Seller name – While it may be fun to have a unique name, using some relevant keywords in your name has been shown to yield higher search ranking results. If you are in the business of selling wedding bands, giving yourself a name like "Red Roses" may be misleading to your potential users, not to mention the risk of the A9 algorithm looking past you.
Backend keywords – These are the keywords you will plugin to let Amazon know what it is you are selling, but there are limits. You have a 50-character limit in five fields and you cannot be repetitive. Amazon will only pick up pertinent words so make them count. It is suggested to use minor variations and synonyms.
Product description – Try to remember that human beings are reading these descriptions, so besides some technicalities with product features, it has to be clear. Using your relevant keywords in a natural tone – sell the strong points of your product and be convincing.
Your performance ranking factors are in the land beyond keywords. While your control is slightly more limited with these factors – it's always important to make the effort. You may be surprised how some of the following areas could be affecting your ranking.
Amazon reviews – This is an obvious one. What do 85% of users on Amazon do before committing to a transaction? They check out previous customer testimonials and reviews. This is definitely a ranking factor, so get those follow-up emails ready and kindly ask your customers for their feedback.
Product images – This is a surprising ranking factor – but the higher-quality your image, the higher you'll rank. Customers want to enable zoom features and navigate images closely. After all, this is an e-commerce marketplace where people can't get up close and personal with products beforehand.
Price & Conversion rate – You need to know your market. Take a good look at your competitors and see where your products stand within the Amazon market. Overpricing your product will have negative consequences on your ranking. Your conversion rate is loosely monitored by a "unit session percentage", in which you can see how many units were purchased per visit.
Amazon marketing is absolutely essential if you are using the world's largest e-commerce marketplace for your business.
If you require further information on Amazon's best SEO practices – contact the professionals at Kraus Marketing. We specialize in integrated digital marketing strategies that include responsive websites, comprehensive branding, social media marketing, SEO & PPC, and everything in between.


text:
\section{}

\section{Introduction}

Transient processes of establishing of stable vorticity in rotating
superfluids have always been in the focus of attention of theorists and experimentalists
studying superfluid vortex dynamics. An important example of such a process
is penetration of a vortex bundle into an originally vortex-free rotating
container filled with a superfluid. This process was thoroughly investigated
in superfluid $^3$He-B theoretically and experimentally \cite%
{Twist,Lamin,Kru}. Vorticity is generated at the container bottom and
propagates upward along the cylindric container axis in the form of a vortex
bundle flaring to lateral container walls. The flaring part of the vortex
bundle was called \emph{vortex front}. Below the front the vortex bundle is
vertical but twisted. The twist is connected with the flux of the angular
momentum along the bundle, which must dissipate due to either mutual
friction in the bulk or friction at rough wall surface. A great attention
was directed to transition from laminar to turbulent vortex front
propagation, especially at low temperature where disappearance of mutual
friction facilitates the transition to turbulence.

All studies of the flaring vortex bundle, analytical, numerical, and
experimental, were performed in the presence of dissipation, without which
front propagation is impossible since it is accompanied by change of the
total energy and the angular momentum. The goal of the present work was to
check whether a stable solution for a vortex bundle terminating on a lateral
wall may exist as an equilibrium state without dissipation and propagation
along the rotation axis. In this equilibrium state the whole bundle together
with its vortex front rotates without twisting as a solid with constant angular
velocity. If the container rotates with the same angular velocity neither
dissipation nor propagation of the vortex front along the rotation axis is
possible. Our paper considers conditions for existence of such
``eigenrotation'' and analyses the effect of weak friction, which
leads to propagation of the vortex front if the container and the bundle
rotate with different angular velocities.

The paper starts from the predecessor of the vortex bundle: a single vortex filament,
located on the container axis in the lower part of the container, at its higher part continuously goes away from the axis
and eventually terminates on the lateral wall (Sec. \ref{SinVor}). Section \ref{SinShe}  analyses
a vortex bundle in which vortices form a single axisymmetric layer (vortex sheet).
Section \ref{twoShe} addresses the case of two coaxial non-interacting sheets and
demonstrates that it is impossible to find the equilibrium solid-body rotation for
such a two-layer bundle. This led to conclusion that equilibrium solid-body rotation
of a multi-layered vortex bundle requires effective interaction between layers.
This could be the same interaction, which leads to formation of a vortex crystal.
The condition of equilibrium rotation of a stiff solid-body vortex bundle diverging
to a lateral wall at some height is analyzed in Sec. \ref{solidBun}.
Section \ref{fric} discusses weakly non-equilibrium vortex bundle, when
friction of the rotating vortex bundle makes possible propagation of the vortex front along the
rotation axis. Concluding remarks are presented in the last Sec. \ref{concl}.

\section{Single vortex} \label{SinVor}

\begin{figure}[tbp]
\includegraphics[scale=0.55]{f4-03.eps}
\caption{(Color online) Vortex line attached to a thin wire.The profile of the vortex line can be examined on two different
length scales: (a) At large scales $r\gg r_w$ the local induction
approximation becomes applicable, in which the wire is treated as an
enhanced vortex core. The vortex line meets a wire at the finite contact
angle $\protect\theta$. (b) On small scales $r \sim r_w$ the vortex line
goes smoothly over into the image vortex (dashed continuation of the vortex
line), with the wire surface perpendicular at the connection point.}
\label{f4-3}
\end{figure}

Let us start from the most elementary case when the bundle reduces to a
single vortex, which terminates on a lateral wall of a container. A freely
precessing vortex is in fact a particular case of the geometry, which  has
already been carefully investigated theoretically and experimentally in
connection with the study of precession of single vortex trapped on a wire
coaxial with a cylindric container filled by superfluid $^3$He-B \cite%
{Zieve,MV,Schw,Curv,SK}. Geometry of the experiment \cite{Zieve} is shown in
Fig.~\ref{f4-3}(a). The $z$-axis is the axis of the cell of the radius $R$
and of the wire of the radius $r_w$. The vortex filament with the
circulation $\kappa$ of the superfluid velocity being trapped on the wire at
$z<z_0$, peels from the wire at $z=z_0$ stretching to the container lateral
wall. Just the ``unzipped'' (free) part of the vortex filament at $z>z_0$
participates in the precession.

If dissipation is absent, the vortex-line shape may be found by minimization
of the energy in the coordinate frame rotating with the angular velocity $
\Omega$ of the vortex precession. This energy corresponds to the Gibbs
thermodynamic potential
\begin{equation}
G =E- \Omega M_z , \label{rot}
\end{equation}
where
\begin{eqnarray}
E=z_0 {\frac{\rho_s \kappa ^2}{4\pi}} \ln{\frac{R}{r_w}} + +
\int\limits_{r_w}^{R} {\frac{\rho_s \kappa ^2}{4\pi}} \ln{\frac{R}{r_c}}
\sqrt{1 + \left[ \frac{dz(r)}{dr} \right]^2}\, dr \label{energy}
\end{eqnarray}
is the energy in the local induction approximation,
\begin{equation}
M_z={\frac{\rho_s\kappa}{2}}(R^2-r_w^2) z_0 + \rho_s \kappa \int_{r_w}^{R}[
z(r)-z_0] r dr  \label{moment}
\end{equation}
is the angular momentum of the liquid around the axis $z$, $r_c$ is the vortex core
radius, and the shape of the vortex line in the
cylindric coordinates is given by the function $z(r)$. It is supposed that
the line is inside the axial plane, so the azimuthal angle $\phi$ does not
vary along the line. The function $z(r)$ is determined by variation of the
thermodynamic potential with respect to the vertical coordinate $z$ of the
vortex line. The corresponding Euler--Lagrange equation is
\begin{equation}
\rho_s \kappa \Omega r = - \frac{d}{dr} \left[ \frac{\varepsilon (r)\,dz/dr}{%
\sqrt{1+(dz/dr)^2}}\right] ,  \label{EL}
\end{equation}
where
\begin{equation}
\varepsilon = \frac{\rho_s \kappa ^2}{4\pi} \ln{\frac{R}{r_c}}
    \ee{LT}
is the energy per unit length of the vortex line, which determines the line-tension force.
\Eq{EL} was derived from minimization of the thermodynamic
potential, but  at the same time it is the equation of balance of forces on the precessing
vortex line: the Magnus force on the left-hand side, which is determined by
the linear velocity $\Omega r$ of the precession, is balanced by the line
tension force $\propto \varepsilon$.
One should look for a solution of this equation with the boundary conditions
on the lateral wall and the wire. The first one is the condition of
transversality (the vortex line normally ends at the lateral wall of the
cylinder):
\begin{equation}
\left. \frac{dz}{dr}\right\vert _{r=R}=0.  \label{transvers}
\end{equation}%
The second boundary condition is imposed in the ``unzipping'' point $z=z_0$:
\begin{equation}
\cos\theta =\left.\left[\frac{dz/dr}{ \sqrt{1+(dz/dr)^2}}\right]%
\right|_{r=r_w}= \frac{\varepsilon}{\varepsilon_w} = \frac{\ln{\frac{R}{r_w}}%
}{\ln{\frac{R}{r_c}}},  \label{5}
\end{equation}
where $\theta$ is the angle between the $z$ axis and the vortex line at
$z=z_0$ and $\varepsilon_w =(\rho_s\kappa^2/4\pi) \ln{(R/r_w)}$ is the line
tension of the vortex filament attached to the wire.
The condition  directly
follows from minimization of the Gibbs potential with respect to variation
of the unzipping coordinate $z_0$ \cite{Curv}.  It ensures the balance  of line-tension forces along the $z$ axis for the
element of the vortex filament in the  point $z=z_0$ (see Fig.~\ref{f4-3}):
The unzipping point is at rest if $\varepsilon_w=\varepsilon \cos \theta$.  In our approach the trapped segment
of the vortex line is treated as a vortex line with a larger core radius $r_w$.
So the approach is valid only for rather thin wires with radius $r_w$ much
less than the radius $R$ of the container.

Integrating Eq.~(\ref{EL}) over $r$ with the transversality condition Eq.~(%
\ref{transvers}) one obtains the first integral
\begin{equation}
\frac{\rho_s \kappa}{2} \Omega(r^2- r_w^2)=\frac{\rho_s \kappa^2}{4\pi}\ln{%
\frac{R}{r_c}}\left[\frac{dz/dr}{ \sqrt{1+(dz/dr)^2}}\right].  \label{1int}
\end{equation}
At the unzipping point this equation together with boundary condition Eq.~(%
\ref{5}) yields that
\begin{equation}
g= e - \Omega m_z =0,  \label{eqG}
\end{equation}
where $g$, $e= \varepsilon_w $, and $m_z= \rho_s \kappa \Omega(r^2- r_w^2)/2$ are the Gibbs
potential, the energy and the angular momentum per unit length of the vortex line
below the unzipping point. Emergence of the condition of zero Gibbs potential
below the unzipping point from the minimization of the total Gibbs potential
is quite natural. In the vortex-free region the Gibbs potential density
vanishes, and if the Gibbs potential density below the unzipping point is
nonzero, then there is a force driving the curved piece of the vortex line
(an analog of the vortex front) upward or downward. The condition (\ref{eqG}%
) determines the precession angular velocity of the curved vortex line
stretched between the wire and the cell lateral wall \cite{Zieve}:
\begin{equation}
\Omega=\frac{\kappa}{2\pi(R^2-r_w^2)} \ln{\frac{R}{r_w}}\approx \frac{\kappa
}{2\pi R^2} \ln{\frac{R}{r_w}}.  \label{4.01}
\end{equation}
Note that this expression is exact and does not depend on vortex line shape
of the curved segment or on using the local induction approximation \cite%
{Zieve,MV,Curv,Schw}. This is a direct consequence of the rigorous canonic
relation
\begin{equation}
\Omega =\frac{\partial E}{\partial M_z}.  \label{kinrot}
\end{equation}
Varying the position of the unzipping point the variations of the energy and
momentum are $dE =\varepsilon_wdz_0$ and $dM_z =m_z dz_0$, so $\partial
E/\partial M_z =\varepsilon_w/m_z$, and Eq.~(\ref{kinrot}) yields expression Eq.~(\ref{4.01}) for the precession angular frequency.

This analysis can be applied to the case of a free axial vortex ending at
the wall. The case is the limit of an extremely thin wire when the wire
radius must be replaced by the vortex core radius in all expression.
Formally this means that the unzipping point goes to $z \to -\infty$, and
the curved vortex line smoothly approaches to the vertical axis of rotation
in accordance with the boundary condition Eq.~(\ref{5}), which now tells
that
\begin{equation}
\left.{\frac{dz}{dr}} \right|_{r =0}\to \infty.
\end{equation}
The shape of the free vortex can be analytically obtained after the second
integration of Eq.~(\ref{1int}) taking into account the expression Eq.~(\ref%
{4.01}) for the angular velocity $\Omega$:
\begin{equation}
z(r)=\sqrt{2R^2 -r^2}-R-{\frac{R}{\sqrt{2}}}\ln \frac{R\sqrt{2}+\sqrt{2R^2
-r^2}}{r(\sqrt{2}+1)}.
\end{equation}
The expression demonstrates that the vortex line exponentially approaches to
the axis $r=0$: $r \approx R e^{-|z | \sqrt{2}/R}$.

While the frequency of the single vortex precession straightforwardly
follows from commonly accepted thermodynamic arguments, the shape of the vortex line was a
matter of dispute resulting from disagreement on a proper usage of the local
induction approximation for the precessing partially trapped vortex line.
One may find a detailed discussion of the issue in Refs. \onlinecite{Curv,SK}. In particular, the debate was about a proper boundary condition at the unzipping
point. Instead of the boundary condition Eq.~(\ref{5}) based on the balance
of forces directly following from the variational principle Schwarz\cite{Schw}
used the condition that the vortex line is normal to the wire. At the very
surface of the wire the latter boundary condition is definitely correct. But
at small scales of the order of the wire radius $r_w$ there are forces,
which led to fast deviation from the normal direction. These forces were
neglected by Schwarz and all others addressing this problem. This is a
legitimate approximation when one looks for the vortex shape at large scales
of the order of the container radius $R$ but only if one uses the boundary
condition (\ref{5}) based on the balance of line-tension forces. In reality
this means that the boundary condition is imposed not exactly at the radius $r_w$
of the wire but on the distance larger than $r_w$, which at the same time is
still much smaller than $R$, as illustrated in Fig.~\ref{f4-3}b. It is
worthwhile to note that the analysis of the shape of a free precessing
vortex gives one more justification of the force-balance boundary condition.
The latter provides a natural transition from the vortex partially trapped
by the wire to a free vortex smoothly changing its direction from vertical to
horizontal. On the other hand, Schwarz's boundary condition
becomes senseless for the free vortex since it requires that the vortex
meets the axis normally.

\section{Single vortex sheet} \label{SinShe}

Our next step is to analyze a bundle of vortices but still of simple
geometry: $N_1 $ vortices form a cylindric vertical sheet of radius $r_1$
which at some height diverges to lateral wall forming a whorl (see Fig. 2). The
single-sheet whorl is a simulation of a more complicated vortex front. As in
the case of a single vortex, any vortex line in the sheet is given by the
function $z(r)$, which is independent on $\phi$ and is determined from the
variational principle for the the total Gibbs potential $G=E-\Omega M_z$. The
total angular momentum is
\begin{equation}
M_z={\rho }_{s}\int_{r_1}^R2\pi rdr \int^{z(r)}dz [v_s(r)r]={\rho }_{s}N_1\kappa
\int_{r_{1}}^{R}z(r)r\,dr,  \label{M1 cg}
\end{equation}%
where $v_s(r)=N_1\kappa /2\pi r$ is the azimuthal superfluid velocity induced by the
vortex sheet. The total kinetic energy $E=E_s+E_v$ consists of the energy
\begin{equation}
E_s={\rho }_{s}\int_{r_1}^R2\pi rdr \int^{z(r)}dz\frac{v_s(r)^2}{2}=\frac{{%
\rho }_{s}(N_1\kappa )^{2}}{4\pi }\int_{r_{1}}^{R} z(r)\frac{dr}{r}
\label{E1 cg}
\end{equation}%
of the velocity field induced by the vortex sheet and the energy of
individual vortex lines given by [compare with the expression Eq.~(\ref%
{energy}) for a single vortex]:
\begin{equation}
E_v=\frac{{\rho }_{s}N_1\kappa ^{2}}{4\pi }\int_{r_{1}}^{R}\ln {\frac{b}{r_c}%
}\sqrt{1+\left[\frac{dz(r)}{dr}\right]^{2}}dr ,  \label{E1 vort}
\end{equation}%
where $b=2\pi r/N_1$ the $r$-dependent intervortex spacing.

\begin{figure}[tbp]
\includegraphics[width=0.4\linewidth]{fig2n.eps}
\caption{(Color online) Single vortex sheet diverging to lateral walls via  forming a whorl}
\label{fig2}
\end{figure}

Variation of the Gibbs potential of the vortex sheet yields the
Euler--Lagrange equation:
\begin{equation}
{\rho }_{s}N_1\kappa \Omega r-\frac{{\rho }_{s}(N_1\kappa )^{2}}{4\pi }\frac{%
1}{r}=\frac{N_1{\rho }_{s}\kappa ^{2}}{4\pi }\frac{d}{dr}\ln \left( \frac{%
2\pi r}{N_1r_c}\right) \frac{dz/dr}{\sqrt{1+(dz/dr)^{2}}}.
\label{Euler eq 1}
\end{equation}%
The first integral of this equation for the boundary condition Eq.~(\ref%
{transvers}) at the container lateral wall is
\begin{equation}
\frac{{\rho }_{s}N_1\kappa \Omega }{2}\left( r^{2}-R^{2}\right) -\frac{{\rho
}_{s}(N_1\kappa )^{2}}{4\pi }\ln \left( \frac{r}{R}\right) +\frac{N{\rho }%
_{s}\kappa ^{2}}{4\pi }\ln \left( \frac{2\pi r}{N_1r_c }\right) \frac{dz/dr}{%
\sqrt{1+(dz/dr)^{2}}}=0.  \label{first integral 1,2}
\end{equation}%
The boundary condition
\begin{equation}
\left.{\frac{dz}{dr}} \right|_{r =r_1}\to \infty
\end{equation}
provides a transition from the whorl to the vertical stem of the vortex
sheet. Using it in Eq.~(\ref{first integral 1,2}) gives the condition that
the Gibbs potential per unit length $g_1=\varepsilon -\Omega m_z$ ($\varepsilon
$ and $m_z$ are the energy and the angular momentum per unit length of the stem)
vanishes at the stem:
\begin{equation}
g_1= \frac{{\rho }_{s}(N_1\kappa )^{2}}{4\pi }\ln \left( \frac{R}{r_1}%
\right) +\frac{N_1{\rho }_{s}\kappa ^{2}}{4\pi }\ln \left( \frac{2\pi r_1}{%
N_1r_c }\right) -\frac{{\rho }_{s}N_1\kappa \Omega }{2}\left(
R^{2}-r_1^{2}\right)=0.  \label{g1}
\end{equation}%
As in the case of a single vortex, this condition is necessary for the
absence of the force driving the front along the vertical axis.

But our minimization of the Gibbs potential requires an additional step:
minimization $g$ with respect to $r_{1}$ at fixed number $N$ of vortices.
The minimization yields that
\begin{equation}
\Omega =\frac{(N_{1}-1)\kappa }{4\pi r_{1}^{2}}.  \label{sold body 1}
\end{equation}%
The relation means that the whole sheet rotates as a solid body with linear
velocity $\Omega r_{1}=(N_{1}-1)\kappa /4\pi r_{1}$. Though our analysis was
based on the local induction approximation, for the vertical part (stem) of
the vortex sheet the obtained expression is exact and is easily derived from
the Bio--Savart law  for  $N_{1}$ equidistant vortices on the
circumference of the radius $r_{1}$. The modulus of the velocity induced by one vortex on another, $v_{ind} =\kappa/2\pi \delta$, is determined by the distance $\delta =2r_{1}\sin
(\alpha /2)$ between them, where $\alpha $ is the angle between radii directed from the
center to the both vortices. The azimuthal  component  $v_{ind}\sin (\alpha /2)=\kappa/4\pi r_1$ of the velocity does not depend on distance between two vortices, and therefore any vortex in the sheet moves along the circumference with the azimuthal velocity  $v_{sheet}= (N-1)\kappa/4\pi r_1$ induced by rest $N-1$ vortices. The radial component of any vortex vanishes for equidistant location of vortices by symmetry.  If $N_{1}\gg 1$ the velocity $v_{sheet}=1/2\left(
v_{in}+v_{out}\right) $ is an average of the velocities $v_{in}=0$ and $
v_{out}=N_{1}\kappa /2\pi r_{1}$ on both sides of the sheet (inside and outside). This law of motion for vortex sheets  is well known in classical hydrodynamics.

\begin{figure}[b]
\includegraphics[width=0.4\linewidth]{fig3n.eps}
\caption{The profile of the vortex sheet calculated from the Euler--Lagrange equation (\ref{Euler eq 1}) for $N_{1}=10$ and  $\Omega R^2/\kappa =4.52828$.}
\label{fig3}
\end{figure}

In Fig. \ref{fig3} we depicted the solution of the Euler--Lagrange equation (\ref{Euler eq 1}) with the boundary conditions $z(R)=0$ and $dz/dr\vert
_{R}=0$ for $N_{1}=10$ and  $\Omega R^2/\kappa =4.52828$. The whorl smoothly diverges from the vertical stem with the radius determined from Eq.~(\ref{sold body 1})
and terminates on the lateral wall.

\section{Two vortex sheets} \label{twoShe}

\begin{figure}[tbp]
\includegraphics[width=0.4\linewidth]{Fig4n.eps}
\caption{(Color online) Hypothetical picture of two vortex sheets terminating on the lateral wall. But no state of solid-body rotation of two sheets with the same angular velocity was found.}
\label{f4}
\end{figure}

One might think that a more realistic vortex bundle could be modeled as an
ensemble of coaxial vortex sheets with their stems rotating together with
the same angular velocity as a solid body. In order to check this option we
considered two coaxial vortex sheets with numbers of vortices $
N_{1}$ and $N_{2}$ diverging to lateral walls via two whorls (Fig. \ref{f4}). The analysis of the Gibbs potential of the sheets  below the
whorls has shown that the condition for solid body rotation of the
two sheets with the same angular velocity cannot be realized. The density of the Gibbs potential for two vertical sheet is $g=g_1 +g_2$ where the Gibbs potential $g_1$ per unit length of the inner
sheet is given by Eq.~(\ref{g1}) and the Gibbs potential $g_2$ per unit
length of the outer sheet is
\begin{equation}
g_2= \frac{{\rho }_{s}\kappa ^{2}N_{2}(2N_{1}+N_{2})}{4\pi }\ln \left( \frac{%
R}{r_{2}}\right) +\frac{N_{2}{\rho }_{s}\kappa ^{2}}{4\pi }\ln \left( \frac{%
2\pi r_{2}}{N_{2}a_{0}}\right) -\Omega \frac{{\rho }_{s}N_{2}\kappa }{2}%
\left(R^{2}- r_{2}^{2}\right).  \label{F2 vert whorls}
\end{equation}%
Minimization with respect to $r_2$ yields the relation
\begin{equation}
\Omega =\frac{(N_2+2N_1-1)\kappa }{4\pi r_{2}^{2}} .  \label{sold body 2}
\end{equation}
The equilibrium condition (absence of the driving force on the whorl) is
satisfied only if $g_1=0$ and $g_2=0$. One may find the states with
vanishing $g_1$ and $g_2$ only if the angular velocities $\Omega$ in Eqs. (\ref{sold body 1}) and (%
\ref{sold body 2}) are  different. The state with the solid body rotation of
two sheets together cannot be found. However this outcome results from
shortcoming of our model and does not mean that the solid-body ``stem + whorl''
structure for multi-layer vortex bundles is impossible. In our model the
vortex sheet induces a fully axisymmetric velocity field outside the sheet
and no field inside. Though discrete vortex structure of the sheet is taken
into account via a logarithm contribution in the energy, the effect of
individual vortices on the velocity field is neglected. Such an
approximation is valid only if the distance between sheets exceeds the
intervortex distance in any sheet. In a tightly packed vortex bundle the
approximation fails, and interaction between neighboring layers glues them
effectively and does not allow rotation with different velocities. Then the
condition for an equilibrium vortex front becomes much less severe: it is
not necessary for the Gibbs potential of \emph{any } sheet to vanish, it is
sufficient that the \emph{total} Gibbs potential vanishes. The latter
condition will be considered in the next section.

\section{Equilibrium rotation of the solid-body vortex bundle terminating on the lateral wall} \label{solidBun}

From the analysis of a single and two vortex sheets it is evident that the
most restrictive condition for  equilibrium solid-body rotation of a vortex bundle terminating on the lateral wall is
zero Gibbs potential much below the front. If this condition is satisfied
the solution of the differential Euler--Lagrange equation for the front
shape is straightforward, though technically complicated: for a multilayered
vortex whorl one should solve a partial differential equation in the space
of two coordinates $r$ and $z$. This section addresses only the condition of
solvability of this equation: absence of a force on the vortex front.

\begin{figure}[tbp]
\includegraphics[width=0.2\linewidth]{SolBodBund.eps}
\caption{(Color online) Solid-body vortex bundle terminating on the lateral wall.}
\label{f5}
\end{figure}

We look for the equilibrium state of fixed number $N$ of vortices forming the solid-body vortex bundle terminating on the lateral wall and rotating with the angular velocity $\Omega$ (Fig. \ref{f5}).
The azimuthal velocity field in the stem of
the bundle is
\begin{equation}
v=\left\{%
\begin{array}{cc}
\Omega r & r<R_0 \\
{\frac{\Omega R_0^2 }{r}} & r>R_0
\end{array}
\right. ,
\end{equation}
where $R_0$ is the radius of the bundle stem.
The number of vortices and the bundle radius are connected with the relation
$N=2\pi \Omega R_0^2/\kappa$. The Gibbs potential for the unit length of the
bundle stem in the coordinate frame rotating with the angular velocity $\Omega_0$
is
\begin{eqnarray}
g=\varepsilon-\Omega_0 m_z=\pi \rho_s \Omega^2 R_0^4\left( \ln{\frac{R}{R_0}} +%
{\frac{1 }{4}}\right)+{\frac{\rho_s\kappa \Omega R_0^2}{2}}\ln {\frac{r_v}{%
r_c}} -\Omega_0\pi \rho_s\Omega R_0^2\left( R^2-{\frac{R_0^2}{2}}\right).
\label{G0}
\end{eqnarray}
In the equilibrium $\Omega$ must coincide with $\Omega_0$ and using the
relation between $\Omega$ and $R_0$ this equation reduces to
\begin{eqnarray}
g={\frac{\rho_s\kappa^2 }{4\pi}} \left[N(N-1)\ln{\frac{R}{R_0}} +{\frac{3 }{4%
}}N^2+N\ln {\frac{R}{r_c\sqrt{N}}}-{\frac{R^2}{R_0^2}}N^2\right] .
\label{G-N}
\end{eqnarray}
The condition $g=0$ yields the relation
\begin{equation}
\ln {\frac{R}{r_c}}=N\left({\frac{R^2}{R_0^2}}-{\frac{3}{4}}\right)-(N-1)\ln{%
\frac{R}{R_0}} +\ln \sqrt{N}.
\end{equation}
If the bundle nearly fills the whole container ($R_0 \approx R$, i.e., the
number $N$ of vortices is close to the equilibrium value)
\begin{equation}
\ln {\frac{R}{r_c}}\approx {\frac{N}{4}}+\ln \sqrt{N}.
\end{equation}
So the condition for equilibrium rotation of the  bundle terminating on the lateral
wall can be satisfied but not for a very large number of vortices.
If the filling factor $R_0/R$ is small, unrealistically high
values of $\ln (R/ r_c)$ are required for equilibrium rotation of a large
number of vortices. Equilibrium rotation is impossible in the classical limit of continuous vorticity neglecting the vortex line tension $\propto \kappa \ln(r_v/r_c)$.

\section{Non-equilibrium rotation and friction} \label{fric}

The equilibrium finite vortex bundle may rotate freely only if a container
rotates with the same angular velocity or there is no friction force between
moving vortices and the container and the normal liquid rotating with it. In
the experiment this condition is not satisfied, and dynamics and structure
of the bundle require a more complicated analysis in general. But if
friction is rather weak as expected in the low-temperature limit, one may
consider the friction effect assuming that the structure of the vortex front (whorl)
is not affected seriously.

For the state  close to the equilibrium one may use the thermodynamic approach. If the vortex front moves with  the velocity $v_f$ variation of the energy of the vortex bundle rotating with the angular velocity $\Omega$ during a short time interval $dt$ is (the energy of the front is neglected compared to that of the bundle stem)
\begin{equation}
dE_b = e(\Omega) v_f dt.
    \ee{}
Displacement of the vortex front  is accompanied by variation of the bundle angular momentum $dM_z =m_z v_fdt$. The total angular momentum is conserved, and the angular momentum  $dM_z$ must be transferred from the container via mutual friction with the normal liquid moving rigidly with the container or via surface friction of vortex ends at a rough wall. This leads to energy variation of the container rotating with the angular velocity $\Omega_0$:
\begin{equation}
dE_c =\Omega_0   dM_z.
      \ee{}
The total decrease of the energy due to front motion is
\begin{equation}
dE=dE_c-dE_b =-[e(\Omega)-\Omega_0m_z(\Omega)]  v_f dt.
    \ee{}
This supports the condition of the equilibrium at $\Omega=\Omega_0$ used above: the Gibbs potential density $g(\Omega)= e(\Omega)-\Omega m_z(\Omega)$ must vanish. The quantity $F_f=e(\Omega)-\Omega_0m_z(\Omega)$ can be interpreted as a force driving the vortex front in a non-equilibrium state. Since the total energy cannot change the released energy $dE$   is compensated by dissipation with the rate $\dot Q = dE/dt =  F_f v_f$. Eltsov {\em et al.} \cite{Kru} estimated the dissipation rate $\dot Q $ assuming that the bundle with $R_0 \approx R$ rotates with the same velocity as the container ($\Omega=\Omega_0$) and neglecting the quantum line-tension contribution $\propto \kappa \ln(r_v/r_c)$ to the energy. This yielded the force $F_f $ equal to the bundle kinetic energy $\pi \rho_s \Omega^2 R^4/4$ per unit length. Here we consider the state close to the equilibrium solid-body rotation at which the force $F_f=e(\Omega)-\Omega m_z(\Omega)$ vanishes. So the force is
\begin{equation}
F_f=(\Omega-\Omega_0)m_z(\Omega) ={\pi \rho_s (\Omega-\Omega_0) \Omega R^4\over 2}.
    \ee{}

The vortex front can move only if there is exchange of the angular momentum between the bundle and the container.
We assume the phenomenological linear relation
between the friction torque  $t =\gamma (\Omega-\Omega_0)$ on a vortex  and the  relative
angular velocity  $\Omega-\Omega_0$.  Then the balance equation
for the total angular momentum of the liquid is
\begin{equation}
{dM_z\over dt}=m_z v_f= N t=\gamma N (\Omega-\Omega_0).
\end{equation}
For the vortex bundle with $R_0 \approx R$ the angular momentum
per unit length is $m_z= \rho_s N\kappa R^2/4$, and the front velocity
\begin{equation}
v_f =\frac{4 \gamma (\Omega-\Omega_0) }{\rho_s \kappa R^2}
\end{equation}
does not depend on the number of vortices in the bundle at given $\Omega-\Omega_0 $.

\section{Discussion and conclusions} \label{concl}

The paper addressed the question whether the vortex bundle terminating on
the lateral wall can rotate as a solid body and what is the
angular velocity of such ``eigenrotation''. There are two conditions for
existence of eigenrotation: (i) The whole vortex bundle including its stem
and the whorl is in an equilibrium solid-body rotation with the same speed;
(ii) The Gibbs potential per unit length of the stem is equal to the zero
Gibbs potential of the vortex-free state above the bundle. The latter
condition eventually determines the angular velocity of the eigenrotation
and was used in the past for estimation of the rotation of the vortex front
by Eltsov \emph{et al.}\cite{Twist,Kru} but without paying attention to the
first condition of equilibrium solid-body rotation of the whole bundle.
Indeed, using Eq.~(\ref{G0}) for linear density $g$ of the Gibbs potential
with the filling factor $R_0/R \approx 1$ and the logarithm term $\propto
\ln(r_v /r_c)$ neglected the condition $g=0$ yields that $\Omega_0 =\Omega /2
$. So in the coordinate frame rotating with this angular velocity the Gibbs potentials
above and below the vortex front are equal, and on the basis of it Eltsov
\emph{et al.} concluded that the front must rotate with the speed, which is
half of the rotation speed of the container. This rotation has nothing to do
with the equilibrium rotation analyzed in the present work: The vortex front
rotates twice slower than the vortex bundle stem, which must leads to steady
twisting of the vortex bundle. Application of thermodynamic-balance
arguments to so strongly non-equilibrium state requires justification, and a more rigorous
dynamical approach of the problem is wanted. The analysis of the equilibrium
and weakly non-equilibrium vortex bundle presented in the present paper
can be considered as the first step in this direction.

\section*{ACKNOWLEDGMENTS}
 The work was  supported by the grant of the Israel Academy
of Sciences and Humanities.  One of authors (S. K. N.) thanks the Racah Institute of Physics
of the Hebrew University of Jerusalem for hospitality and support and
acknowledges a partial support by the grants N 10-08-00369 and N 10-02-00514 from the
Russian Foundation of Basic Research.

redpajama_set_name: RedPajamaArXiv


text:
Ensono Adds Managed Mainframe To Its UK Toolkit
Ensono, today announces the UK launch of its Managed Mainframe service, providing enterprises with Remote Infrastructure Management (RIM) and hosting options for IBM's z Systems. For the first time, UK enterprises will have access to a managed service layer for their mainframe systems from Ensono. This includes Linux on z, giving those using mainframe services a stepping stone to modern Linux-based virtualised hardware.
From today, Ensono's UK enterprise clients will be able to address the very real problem of the skills shortage in managing and supporting the mainframe environment as talent retires. Enterprises will also benefit from Ensono's experience in consolidating and standardising the complex mainframe ecosystem, reducing the monthly mainframe bill by decreasing software license costs and optimising the infrastructure and applications to run more efficiently. This ultimately lowers mainframe costs by up to 15-20%. Ensono provides world class design and unparalleled support with leading SLAs, disaster recovery, security and compliance, providing the enterprise with peace of mind that their strategically important mainframe systems can continue to underpin their business. Ensono recognises that enterprise mainframe environments contain critical business information supporting non-mainframe applications, and so the hybrid IT specialist provides organisations with the capability to aid the integration, optimisation and management of these systems.
Ensono currently manages 126,000 MIPS (million instructions per second) and 130 logical partitions (LPARs) on behalf of its enterprise clients in North America, working in partnership with organisations across sectors, including insurance, financial services, manufacturing and professional services. Ensono also brings to the UK 49 years of experience, working to optimise mainframe with over 1,000 mainframe software products, 250 plus database instances and 300 plus Customer Information Control Systems regions on IBM's z Systems.
Ken Harper, Director, Mainframe Product Leader, Ensono says: "While mainframe is often considered a legacy technology, without it global banks, insurance companies, retailers and many other major industries would not function. Mainframe runs business critical services in over 90% of the global Fortune 500 companies and in a recent report from IBM, it was reported that the mainframe supports over $23 billion in ATM transactions per year*. With mobile transactions increasing, mainframe captures, analyses and crunches data that impacts businesses and their consumers' lives positively every day. Mainframe is built to handle these consumer driven transaction loads reliably and securely."
Despite mainframe being a strategic part of many enterprises' future, most universities do not include it in their computer science curriculums and managing these 'legacy' environments has become a very real problem. Enterprise is left with two options: recruiting, and attempting to retain, skills that are a scarce and costly resource; or taking the risky, time-consuming and expensive option to transition from mainframe before the business is ready. Both present issues for today's enterprise.
Ensono's Remote Infrastructure Management for Mainframe adds a third option. It adds a secure managed service layer to the existing mainframe environment, allowing Ensono's experts to manage the mainframe remotely, reducing migration work efforts and risks. Transition for Remote Infrastructure Management takes a little as 45 days, giving businesses the benefits of maximising their capital expenditure, but with the technical support and regular mainframe infrastructure management from Ensono.
Ken Harper, Ensono says: "We are pleased to launch Ensono's Managed Mainframe in the UK. Ensono's mission is to deliver technology services that enable our clients to be great at what they do, optimising the applications and technology to meet business objectives such as better customer experience, lower costs or increased innovation.
"Ensono helps enterprise across the globe operate for today and optimise for tomorrow with a breadth and depth of mission-critical Hybrid IT experience, including everything from managed mainframe to managed public cloud. The addition of managed mainframe to our UK toolkit places us in a leading position to help our clients to compete in the digital era, helping as they navigate their business transformation in the fast-paced digital world."
Ensono Launches Private Cloud Platform, Ensono Cloud™, Expanding Full Suite of Hybrid IT Solutions

redpajama_set_name: RedPajamaCommonCrawl


Free CV Template Download. Learn how to write a good CV.
Recruiters spend an average of 6.25 seconds reviewing a candidate's CV before deciding whether or not they are suitable for a role, according to research. That's not very long at all. With so many people vying for each vacancy, competition is fierce and at Property Personnel, we're often asked what you can do to make your application stand out.
Want to know a secret? It's all about writing a great CV.
There is no such thing as a perfect CV, but the best, most successful CVs for property jobs contain the same key elements. As such, we've developed a free CV template to guide you through this usually arduous process. The template will help you list your skills, achievements and qualifications in a way that appeals to those who matter in real estate recruitment and could increase your chances of being placed in the 'progress' pile rather than the 'reject' one.
No longer will updating your CV be such a frustrating task – just don't tell everyone!


text:
var util = require('util');
var http = require('http');
var https = require('https');
var xml2js = require('xml2js');
var md5 = require('MD5');

module['exports'] = fritzboxtools;
function fritzboxtools (uri) {
	var self = {};

	self._auth = {
		SID : "0000000000000000",
		Challenge: "",
		BlockTime: "0",
		Rights: ""
	};

	self._reqOptions = {
		  hostname: 'fritz.box',
		  port: 80,
		  path: '/login_sid.lua',
		  agent: false,
		  method: 'GET',
		  ssl: false
	};

	self.doRequest = function(options, dataRecieved){

		var req = "";

		util.log("Request for : "+ (options.ssl ? "https" : "http") + "://" + options.hostname + options.path);

		if (options.ssl === true){
			req = https.request(options, function(res){
				self.resHandling(res, dataRecieved);
			});
		}else{
			req = http.request(options, function(res){
				self.resHandling(res, dataRecieved);
			});
		}

		req.on('error', function(e) {
		  console.log('problem with request: ' + e.message);
		});

		req.end();

	};

	self.resHandling = function(res, cb) {

		util.log("statusCode: " +  res.statusCode);

		var dataarr = [];
		res.setEncoding('utf8');
		res.on('data', function (chunk) {
			dataarr.push(chunk);
		});
		res.on('end', function () {
  			if(typeof cb == "function"){
		    	cb(dataarr.join(''));
		    }
  		});

	};

	self.allOutletStates = function(callback){

		util.log("get all outlet states...");

		//check if user is BoxAdmin
		util.log("checking rights of user: " + JSON.stringify(self._auth.Rights[0].Name));

		if(self._auth.Rights[0].Name.indexOf("BoxAdmin") == -1){
			self.onError("user has no BoxAdmin rights. cannot proceed with request.");
		}

		var d = new Date();
		var n = d.getTime();

		var OutletrequestPath = "/net/home_auto_query.lua?" +
			"sid=" + self._auth.SID +
			"&command=AllOutletStates" +
			"&xhr=1" +
			"&t"+ n +"=nocache";

		var reqOptions = self._reqOptions;
		reqOptions.path = OutletrequestPath;

		var myreq = self.doRequest(reqOptions, function(response){
			if(typeof callback == "function"){
				callback(response);
			}else{
				util.log(response);
			}
		});

	};

	self.getData = function(callback, cbinterval){

		util.log("get myfritz data...");

		var d = new Date();
		var n = d.getTime();

		var OutletrequestPath = "/myfritz/areas/homeauto.lua?" +
			"sid=" + self._auth.SID +
			"&cmd=getData" +
			"&startpos=0" +
			"&ajax_id=1234" +
			"&xhr=1" +
			"&t"+ n + "=nocache";

		var reqOptions = self._reqOptions;
		reqOptions.path = OutletrequestPath;

		var respFunc = function(){
		var myreq = self.doRequest(reqOptions, function(response){
			var response = JSON.parse(response);
			if(typeof callback == "function"){

				callback(response);

			}else{
				util.log(response);
			}
		});
		};

		if(typeof cbinterval == "number" && cbinterval > 1000){
			util.log("interval set to " + cbinterval + "ms");
			setInterval(respFunc, cbinterval);
		}else{
			respFunc();
		}

	};

	self.SwitchOnOff = function(deviceID, valToSet, callback){

		util.log("sending switchcommand " + (valToSet == 1 ? "on" : "off") + " to device id " + deviceID + "...");

		var d = new Date();
		var n = d.getTime();

		var requestPath = "/myfritz/areas/homeauto.lua?" +
		"sid=" + self._auth.SID +
		"&deviceId=" + deviceID +
		"&cmd=switchChange" +
		"&cmdValue=" + valToSet +
		"&ajax_id=1234" +
		"&xhr=1&t"+ n +"=nocache";

		var reqOptions = self._reqOptions;
		reqOptions.path = requestPath;

		var myreq = self.doRequest(reqOptions, function(response){
			var response = JSON.parse(response);

			if(response.status == "switchStateChangedSend"){
				util.log("switchcommand sent...");

				setTimeout(function(){
				self.SwitchOnOffCheck(deviceID, valToSet, response.ajax_id, function(finres){
					var finres = JSON.parse(finres);
					if(typeof callback == "function"){
						callback(finres);
					}else{
						if(finres.status == "switchStateChanged"){
							util.log("device id " + deviceID +
						 		       " successfully switched to " + (valToSet == 1 ? "on" : "off"));
						}else{
							console.error("device id " + deviceID + " state could not be changed...");
							self.onError(JSON.stringify(finres));
						}
					}
				});
				}, 500);
			}else{
				console.error("switchcommand could not be sent...");
				self.onError(JSON.stringify(response));
			}

		});

	}

	self.SwitchOnOffCheck = function(deviceID, valToSet, ajaxID, callBack){

		util.log("switch " + (valToSet == 1 ? "on" : "off") + " device id " + deviceID + "...");

		var d = new Date();
		var n = d.getTime();

		var requestPath = "/myfritz/areas/homeauto.lua?" +
			"sid=" + self._auth.SID +
			"&deviceId="+deviceID +
			"&cmd=switchChangeCheck" +
			"&cmdValue=" + valToSet +
			"&ajax_id=" + ajaxID +
			"&xhr=1" +
			"&t"+ n +"=nocache";

		var reqOptions = self._reqOptions;
		reqOptions.path = requestPath;

		var myreq = self.doRequest(reqOptions, function(response){
			util.log(response);

			if(typeof callBack == "function"){
				callBack(response);
			}
		});

		return true;

	}

	self.homeautoSwitch = function(deviceAin, switchCmd, callBack){

		util.log("requested SwitchCommand: " + switchCmd + " for AIN: " + deviceAin);

		var requestPath = "/webservices/homeautoswitch.lua?" +
			(deviceAin ? "ain=" + encodeURI(deviceAin) : '') +
			"&switchcmd=" + encodeURI(switchCmd) +
			"&sid=" + encodeURI(self._auth.SID);

		var reqOptions = self._reqOptions;
		reqOptions.path = requestPath;
		reqOptions.ssl = true;
		reqOptions.port = 443;
		reqOptions.rejectUnauthorized = false;

		self.doRequest(reqOptions, function(response){
			util.log(response);

			if(typeof callBack == "function"){
				callBack(response);
			}
		});

		return true;
	}

	self.getHome = function(callback){

		util.log("get home page...");

		var HOMErequestPath = "/home/home.lua?sid=" + self._auth.SID;
		var reqOptions = self._reqOptions;
		reqOptions.path = HOMErequestPath;

		var myreq = self.doRequest(reqOptions, function(response){
			util.log(response);

		});

	};

	self.login = function(user, pw, callback){

		if(typeof user == "undefined"){
			self.onError("no user defined. cannot proceed with login.");
		}

		if(typeof pw == "undefined"){
			self.onError("no password defined. cannot proceed with login.");
		}

					util.log("try login... with user " + user);

					//add SID here..because we already may have recieved one...
					var loginRequestPath = "/login_sid.lua?sid=" + self._auth.SID;
					var reqOptions = self._reqOptions;
					reqOptions.path = loginRequestPath;

					var myreq = self.doRequest(self._reqOptions, function(response){
						xml2js.parseString(response, function (err, result) {
							if(err != null){
								console.error("I was expecting xml but there was an error...");
								self.onError(err);
							}
							var sessInfo = result.SessionInfo;

							if(sessInfo.BlockTime > 0){
								// check if it is necessary to watch out for blocktime...
							}

						    util.log("look for SID...");
						    util.log("Session ID: " + sessInfo.SID);
						    if (sessInfo.SID == "0000000000000000") {

						    	util.log("SID empty... requesting a new one...");
						    	util.log("Challenge recieved: " + sessInfo.Challenge);

						    	//stuff comes in utf-8, but we need utf16le...
						    	//so we use ucs2 which is similar and javascripts native subset...

						    	var uc2buffer = new Buffer(sessInfo.Challenge + "-" + pw, "ucs2");

						    	var challengeResponse = sessInfo.Challenge + "-" + md5(uc2buffer);

						    	util.log("created response: " + challengeResponse);

						    	var SIDrequestPath = "/login_sid.lua?" +
						    		"username=" + user +
						    		"&response=" + challengeResponse;

								var reqOptions = self._reqOptions;
								reqOptions.path = SIDrequestPath;

								util.log("Request SID...");
								self.doRequest(self._reqOptions, function(response){
									xml2js.parseString(response, function (err, result) {

										var d = new Date();
										var n = d.getTime();

										if(err != null){
											console.error("I was expecting xml but there was an error...");
											self.onError(err);
										}

										util.log("look for SID...");
										var sessInfo = result.SessionInfo;

										util.log("Recieved SID: " + sessInfo.SID);

										if (sessInfo.SID == "0000000000000000") {
											console.error("Login was NOT successful...");
											self.onError(JSON.stringify(sessInfo));
										}

										util.log("Login successful...");

										self._auth.SID = sessInfo.SID;
										self._auth.Rights = sessInfo.Rights;
						    			self._auth.BlockTime = sessInfo.BlockTime;

										if(typeof callback == "function"){
											callback(sessInfo);
										}

										return true;

									});
								});
						    }else{
						    	util.log("Found valid SSID seems as if you are already logged in...");
						    	self._auth.SID = sessInfo.SID;
						    	self._auth.Rights = sessInfo.Rights;
						    	self._auth.BlockTime = sessInfo.BlockTime;
						    	return true;
						    }

				     	});
					});

	};

	self.onError = function(err){
		console.error("ERROR: " + err);
		console.error("PROCESS IS GOING BYEBYE...");
		process.exit(1);
	};

	//initialize with arguments

	if(typeof uri != "undefined"){
		self._reqOptions.hostname = uri;
	}

	return self;
};

redpajama_set_name: RedPajamaGithub


This is an exceptional new development located in the Bradmore Conservation Area close to Hammersmith town centre. HAP Architects were employed by Linden Homes to optimise the approved planning scheme with a view to maximising the development revenue through increased saleable area and better proportioned internal arrangements. Through the use of CFD smoke modelling, a mechanical extract system was incorporated with a dual purpose of smoke evacuation and common area cooling & ventilation facilitating the omission of a staircore and reducing communal circulation space. The development also complies with Lifetime homes, is heated through the use of a communal wood pellet boiler and achieves Code for Sustainable Homes Level 4.


Sometimes, it's so difficult to practice what you preach. And if you're me, you don't even realize that it's happening. Or not happening? I don't know how to express that thought.
Lately, I have been feeling disconnected from myself. Not depressed but disconnected. And not just from myself but from others too. Some days, it feels like I put on this costume of someone who has it all together. Most of the time, I can find the right words to say to others in the moments they need them. Or I find the strength to lift them up when it's just so damn hard. But then I go home and I feel…. disconnected. Always lacking the right words for myself, unable to lift myself up.
I'm not able to pin point the source of this disconnection. It could be hormonal changes from my hysterectomy. It could be that I'm spreading myself too thin, I'm too busy. It could be because I haven't "shown up to therapy" in too long- AKA updating the blog. It could be that I'm so frustrated with my hair but know that I should be thankful to have it.
It could be that while learning to navigate the new me, I never realized that those around me would have to be doing the same- a pretty selfish thing to realize. It could be so many things… so many things all mixed together.
I don't know. And it doesn't matter, what matters is that I've noticed it. Others have noticed it, so it's time to address it.
I'm not looking for tips or advice, I'm just venting in what I consider a safe space. And I truly feel like once I get this off my chest by hitting 'publish', I'll start to feel free and more capable of working on myself. But right now, I'm having too many moments of feeling like I'm fumbling around to get my oxygen mask on while the people around me suffer. You know, that airplane analogy and what not…. and actually, even since I started brainstorming this post a couple of weeks ago, I've already begun to feel at ease.
Since my last post, quite a bit has happened. I spoke at Kaiser's C Survivors Day and I didn't pee myself. I had people thank me at the end, share their stories with me, shake my hand. It felt good to be able to share myself with others and to have such positive feedback.
I've been teaching a bunch of yoga classes and I really dig it. I feel very lucky to have been given the opportunities to share what I love so dearly with others. If your in OC, come find me!
John and I celebrated 5 years of marriage but both agree it feels more like 15. Glad to report, we are still in love.
Thanks so much for sharing this. I'm in Russia right now and a few days ago the first lines from this blog post popped up in my newsfeed. I told myself to not forget to go back to read it because I related so much to these few words and thought I could find some connection in the rest of your post. It's so interesting that even though we're going through different experiences (in my case this transition from grad school, friends and family seeing a transformed "me" after what seems like a two year hiatus, having more alone time with my thoughts), can cause the same feeling of disconnectedness from self and others. Thank you so much for sharing. Your entire post had me teary-eyed because your words on navigating a new norm and taking your own advice really hit home for me too. Love you and sending you big hugs my soul sister.


The Mélange Profile Pillow Covers from 45th Street Bedding fit perfectly over the Mélange Profile Pillows, as they should! Each pillow cover is made from 100% cotton and features a side-zipper enclosure to keep the cover in place. Did we mention it boasts a 300 thread count? How cozy is that!
The 45th Street Bedding Mélange Profile Pillow Cover is as unique as the Mélange Pillows themselves! Specially crafted to fit the profile pillow perfectly. Therefore you can protect your most vital investment; your sleep.
Pillow covers are available in Travel, Standard, Queen, and King size. Each cover is 100% sateen cotton weave. They features a side zipper enclosure to keep it in place.
Check them out at our newest retail partner: Tracy's Furniture in Anacortes, WA.


text:
Arc Forum new | comments | leaders | submit login
3 points by shader 309 days ago | link | parent
Yes, that's what I assumed as well; I just thought it would be an interesting discussion, and was wondering if there might not be other reasons for choosing that particular repository.
I suppose for me, the distinction between an 'open source' repository (Gitlab) and an 'ethical(?)' repository wasn't a very important one, so I was curious for the motivation behind it.
1 point by hjek 306 days ago | link
I think free (or "open source") and ethical mean the same in most cases.
Exceptions might include something like Facebook, which is technically somehow usable w/o non-free JS when using their basic mobile web page, but where the company is still engaging in other unethical activities, like selling user data to sway elections.
Or something like Amazon, where you might possibly be able to buy something w/o non-free JS (haven't checked), but where the treatment of their employees is unacceptable.
But, I think, when we're talking git hosting sites, there's no difference?
But FSF considers Gitlab ethical enough for hosting GNU packages[0].
[0]: https://www.fsf.org/news/gnu-releases-ethical-evaluations-of...
3 points by i4cu 305 days ago | link
As I understand it - the 'Open Source' movement concerns itself with improving the software by making the code openly accessible, where as the 'Free Software' movement concerns itself with a fighting for users rights (i.e. having the freedom to access, modify and distribute the code in a manner that empowers the user).
And so, an 'Open Source' repository holds code that is openly accessible for the purpose of improving the software. Where as an 'Ethical Repository' holds code that is graded by its' ability to guarantee users rights according to a specific set of morals (established by free software foundation). It so happens that open source repos tend to align well the ethics associated with free-software, but they should not be mistaken for each other. As an example to illustrate: If a repo SaaS were built for open source code, but restricted users from a certain country it wouldn't rank high in ethical repository grading. This is because while having the code openly accessible leans towards a Grade A rating (excellent), the restricting some users part puts it at a Grade F rating (unacceptable).
-- additional info --
https://en.wikipedia.org/wiki/Open-source_software
"Despite initially accepting it,[31] Richard Stallman of the FSF now flatly opposes the term "Open Source" being applied to what they refer to as "free software". Although he agrees that the two terms describe "almost the same category of software", Stallman considers equating the terms incorrect and misleading.[32] Stallman also opposes the professed pragmatism of the Open Source Initiative, as he fears that the free software ideals of freedom and community are threatened by compromising on the FSF's idealistic standards for software freedom.[33] The FSF considers free software to be a subset of open-source software, and Richard Stallman explained that DRM software, for example, can be developed as open source, despite that it does not give its users freedom (it restricts them), and thus doesn't qualify as free software.[34]"


During the week we also have many Adult ministry groups to choose from. Check out the SUMC calendar for group meeting times.
For more information on any of these Classes or Ministries please contact the church at sumc@saladoumc.org or (254) 947-5482.


text:
« Yatra Kerala 2005
Yatra Rishikesh 2006 »
Yoga Teacher has Own Style of Practice
Manasa Yoga Wednesday, November 16, 2005 The Star.
By the time he was seven years old, Manoj Kaimal was already well grounded in the basic philosophies of yoga and adept with "sun salutations."
This is not unexpected, considering both his grandfathers did not only practised yoga practitioners but taught it as well.
Thus Manoj, who hails from India's southern state of Kerala, was exposed to yoga at a very young age and began formal training at the world-renowned Sivananda Ashram when he turned 15.
His interest drove him to learn all he could about the various distinctive styles of yoga, including theIyengarand theAshtanga Vinyasa.
Students practising the headstand aided by ropes during the Iyengar workshop.
Although he was earning well as an accountant, he eventually abandoned the profession in favour of teaching yoga.In this venture, he has wife Sandhya for company.
Together, they created their own distinctive style of practice, the Manasa Yoga, which seeks to integrate the best elements from all the different styles Manoj has experienced.
Manasa is taught at the couple's Yoga Life Mind & Body Centre in Petaling Jaya.
"Dynamic sequences of postures, precise principles of alignment backed by medical terminology and scientific knowledge, time-tested breathing and meditative techniques are the hallmarks of this style," said Manoj.
While some of the styles tend to make a distinction between posture and breathing and meditative techniques, Manoj believes in integration and that,asanaor postures can be used as tools to help the practitioner achieve the meditative state.
"I maintain authenticity by remaining rooted in the timeless philosophy of yoga, as expounded in the classical Indian scriptures.
"Every sequence is carefully thought out and great effort is taken to impart to our students the essence of yoga in its truest form. By using the tools of body, breath and awareness, Manasa Yoga endeavours to guide its practitioners to realise and celebrate their infinite inner potential."
Manoj and Sandhya are gaining so many students that they have opened a second studio – more than 758 sq m – for daily classes that are taught in English and Mandarin.
The basic classes cover relaxation, flow andAshtanga Vinyasa, which involve jumping movements.
Manoj continues to conduct intermediate and advanced classes in theIyengaras well as theAshtanga Vinyasastyles.
In addition, he regularly holds workshops on yogic scriptures.
In a recently concluded Iyengar workshop, he introduced the use of props such as belts, blocks and ropes.
Originally published in the Star (link)


Fast and Accurate movements for absolutely perfect packaging!
The choice of the "line end" is of particular importance in the configuration of the packaging line and it is for this reason that MF TECNO offers a wide range of palletizers, which are able to meet the different demands of its customers.
The final aspect of a pallet is related to its stability, the final objective of our job.
The capacity to realise an absolutely stable pallet, independently from the shape and consistency of the packages to palletize, has pushed us to look for new solutions that allow us to obtain a perfect result.
Our "research and development" dept. have developed a series of compact and flexible machines, which can adapt perfectly to the customer's types of packages and pallets. They are easy to position in any company so as to allow customers, which have abandoned the idea of automatic palletizing up to now, due to obvious reasons regarding space, to install this plant.
The result is a technologically advanced, flexible, reliable product but with a very high quality: price ratio.
The use of top-quality components, the preference given to mechanical movements, the use of brushless motors controlled by relevant drives and the attention given to management electronics, makes these machines safe and reliable, with no fear of comparison with any other palletizer present on the market.
Fast work and accurate positioning; two qualities that we have been able to combine perfectly in our palletizers.


text:
Source: AP Photo/Patrick Semansky
If you have 20/20 (or better) vision, you probably don't even think about seeing -- unless you previously had worse vision. If your vision has declined over the years (as mine has), you probably wish for the times when you took your vision for granted.
That applies to more than vision; we often take all sorts of things for granted. To be grateful, we must first understand and appreciate the gifts that we have -- even gifts that have been given to us by God.
We often view our personal historical experience and changes as events that happened to us, that shaped us in one way or another. These historical events have made us who we are today.
Despite the many events that have shaped each and every one of us, when looking into the future, we typically see little change ahead, according to researchers Jordi Quoidbach, Daniel Gilbert and Timothy Wilson. They concluded that people view "the present as a watershed moment at which they have finally become the person that they will be for the rest of their lives."
The researchers called this belief "the end of history illusion." At the time they were questioned, study participants held the illusion that the changes they had witnessed were done; no more history was being made.
How do we know that we are often wrong in our predictions that the future will include no more additional changes? Just look at the last presidential election. If you look at the aggregate polling numbers for Donald Trump versus Hillary Clinton, Clinton appeared to be leading during most of the race.
On election night, many could not believe that Trump was winning. While we might look back now and say that Nov. 8, 2016, was an unusual time in politics -- and this cycle, we will be back to normal -- what we should be thinking is this: How could it get even weirder?
Welcome to 2020, a presidential election year once again. Additionally, all members of the House are up for election, as are a third of U.S. senators and 11 governors. North Carolina, New Hampshire and Montana are toss-ups; Democrats should win Vermont, Delaware and Washington; Republicans should win West Virginia, Utah, North Dakota, Missouri and Indiana. Many of the state legislators who are picked this cycle will have a say in how the new congressional and state districts are redrawn based on the 2020 census results.
While President Donald J. Trump is a lock for the Republican presidential nomination, the Democratic nominee is up for grabs. This year, the process starts late with the Iowa caucuses being held on Feb. 3. The New Hampshire primary follows on Feb. 11; the Nevada caucuses are on Feb. 22, South Carolina's on Feb, 29.
On March 3, Super Tuesday includes Alabama, American Samoa, Arkansas, California, Colorado, Maine, Massachusetts, Minnesota, North Carolina, Oklahoma, Tennessee, Texas, Utah, Vermont and Virginia. A week later, Idaho, Michigan, Mississippi, Missouri, North Dakota, Ohio and Washington have their say in the process. The last primaries occur in June 2020.
While former Vice President Joe Biden has a lead among Democrats in national polls, the first few states will go to other contenders, and the shape of the race is still largely undefined. The Democratic convention will be held July 13-16 in Milwaukee. Imagine a scenario where there is no clear winner in the Democratic primary process; the convention becomes brokered; and former Secretary of State Hillary Clinton is brought in to unite the party and run against President Trump.
You say this is crazy and could never happen. But no one can predict the future with certainty.
The Republican convention will be held over a month later, from Aug. 24-27, in Charlotte, North Carolina. Just imagine the fun that President Trump will have if Clinton is the nominee. What we should expect is that 2020 will be even wilder than 2016 was -- and in ways that we might not even be able to anticipate.
So what should you do this political year? Don't pay attention to all of the personal attacks and reporting on the horse race (who is up in the polls by a percentage point or two). Instead, watch for the results of what the current administration accomplishes, and focus on the discussions of policies instead of personalities. Here's to a clear-eyed vision for 2020.


text:
Q: Efficient way to use pandas group by on a million records I have a dataframe which can be generated using the code below
df2 = pd.DataFrame({'subject_ID':[1,1,1,1,1,1,2,2,2,2],'colum' : ['L1CreaDate','L1Crea','L2CreaDate','L2Crea','L3CreaDate','L3Crea','L1CreaDate','L1Crea','L2CreaDate','L2Crea'],
                'dates':['2016-10-30 00:00:00',2.3,'2016-10-30 00:00:00',2.5,np.nan,np.nan,'2016-10-30 00:00:00',12.3,'2016-10-30 00:00:00',12.3]})

I am trying to do the below operations on the above dataframe. Though the code works absolutely fine , the issue is when I use the group by statement. It's quick in sample dataframe but in real data with over 1 million records, it takes a while and just running for a long time
    df2['col2'] = df2['colum'].str.split("Date").str[0]
    df2['col3'] = df2['col2'].str.extract('(\d+)', expand=True).astype(int)
    df2 = df2.sort_values(by=['subject_ID','col3'])
    df2['count'] = df2.groupby(['subject_ID','col2'])['dates'].transform(pd.Series.count)

I do groupby to get the below output count column so that I can reject records with count as 0. There is a logic involved behind dropping NA's. It's not just about dropping all NA's. If you would like to know about that then refer this post retain few NA's and drop rest of the NA's logic
In real data one person might have more than 10000 rows. So a single dataframe has more than 1 million rows.
Is there any other better and efficient way to do a groupby or get the count column?

A: Idea is use list comprehension with split for improve performance, then not assign output to new column count but filtering and last sorting with extracted integers:
df2['col2'] = [x.split("Date")[0] for x in df2['colum']]
df2 = df2[df2.groupby(['subject_ID','col2'])['dates'].transform('count').ne(0)].copy()

df2['col3'] = df2['col2'].str.extract('(\d+)', expand=True).astype(int)
df2 = df2.sort_values(by=['subject_ID','col3'])
print (df2)
   subject_ID       colum                dates    col2  col3
0           1  L1CreaDate  2016-10-30 00:00:00  L1Crea     1
1           1      L1Crea                  2.3  L1Crea     1
2           1  L2CreaDate  2016-10-30 00:00:00  L2Crea     2
3           1      L2Crea                  2.5  L2Crea     2
6           2  L1CreaDate  2016-10-30 00:00:00  L1Crea     1
7           2      L1Crea                 12.3  L1Crea     1
8           2  L2CreaDate  2016-10-30 00:00:00  L2Crea     2
9           2      L2Crea                 12.3  L2Crea     2

If get error:

AttributeError: 'float' object has no attribute 'split'

it means there are possible missing values, so list comprehension should be changed:
df2['col2'] = [x.split("Date")[0] if x == x else np.nan for x in df2['colum']]

For check performance:
def new(df2):
    df2['col2'] = [x.split("Date")[0] for x in df2['colum']]
    df2 = df2[df2.groupby(['subject_ID','col2'])['dates'].transform('count').ne(0)].copy()
    df2['col3'] = df2['col2'].str.extract('(\d+)', expand=True).astype(int)
    return df2.sort_values(by=['subject_ID','col3'])

def orig(df2):
    df2['col2'] = df2['colum'].str.split("Date").str[0]
    df2['col3'] = df2['col2'].str.extract('(\d+)', expand=True).astype(int)
    df2 = df2.sort_values(by=['subject_ID','col3'])
    df2['count'] = df2.groupby(['subject_ID','col2'])['dates'].transform(pd.Series.count)
    return df2[df2['count'].ne(0)]

In [195]: %timeit (orig(df2))
10.8 ms ± 728 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)

In [196]: %timeit (new(df2))
6.11 ms ± 144 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)


Our top econocrats make a lot more speeches these days, but sometimes they say things that represent a clear advance in our understanding of what's happening with that mysterious animal we call the economy. Glenn Stevens, governor of the Reserve Bank, gave such a speech this week.
One device economists use to get a handle on economic developments is to distinguish between those that are ''cyclical'' and those that are ''structural''. Cyclical developments are a product of the economy's present position in its eternal movement through the business cycle of boom and bust. That is, they may be important now, but they won't last.
Structural developments, by contrast, come from deeper, underlying and long-running economic and social forces. They usually move more slowly, but they're more permanent.
The main message the econocrats have been trying to get to us is that the present resources boom isn't just another short-lived commodity boom but is bringing about a long-lasting change in the structure of our economy.
But this week Stevens identified a quite different structural change occurring at the same time as the mining construction boom. We're in the middle of a profound shift in the attitudes of Australian households towards how much of their income they spend on consumption and how much they save.
For many years households used to save a high proportion of their disposable incomes: 10, 12 even 15 per cent. Taking all households together, their mortgage and other debt stood at less than 50 per cent of annual household disposable income. Everyone's ambition was to pay off their mortgage as early as possible.
But, as Stevens points out, all that started to change in the mid-1990s. Over the 10 years to 2005, the trend rate of growth in real household disposable income (here, meaning income after tax and net interest payments) was 2 per cent a year per person. That's a very healthy rate of income growth - more than double the rate seen in the previous two decades.
Even so, household consumption spending grew over the same period at the even faster real, per-person rate of 2.8 per cent a year. How can our spending grow at a faster rate than our income? By us steadily cutting the rate of our saving.
We even got to the point where our consumption spending exceeded our income. How is that possible? By ''dissaving'' - running down past savings or by borrowing.
But from about 2005, before the global financial crisis in late 2008, all that began changing.
Over the five years to the end of 2010, real household disposable income per person grew at the even faster rate of 2.9 per cent. Why? Because of the flow through the economy of the very much higher export prices we've been getting.
But here's the thing: as our rate of income growth has accelerated, our rate of consumer spending has slowed down. In per-person terms, real consumption today is no higher than it was three years ago.
So what's changed? We've stopped saving less and started saving more. Why? Well, it's obviously not primarily because we're worried about higher interest rates, the risk of problems in Europe and America causing another global financial crisis or we're all afraid the world will end when the carbon tax starts next July.
Those worries are clearly part of the present, short-term, cyclical explanation for our caution as consumers, but they can't explain a structural trend that began about six years ago.
For that you have to look deeper. As we've seen, it's possible for your spending to grow faster than your income for a protracted period as you run down past savings and borrow. But you can't keep doing it forever. Eventually, your debts get so great that you (or your bankers) call a halt.
You realise having so much debt is dangerous, so you hold back your spending and increase your saving - often by paying off some of the debt. The ratio of household debt to annual disposable income shot up to about 150 per cent, but in the past few years it's levelled off.
The point to realise is that this new trend represents a return to normal behaviour after a protracted period of abnormal behaviour. We used to save 10 or 12 per cent of our incomes, and now we've got back to saving that much. We used to want to pay off our mortgage ASAP, and now we're back to wanting that to.
What happened in the middle was households making a protracted but essentially once-only adjustment to two major developments: financial deregulation, which made banks much keener to lend to households using newer, more flexible deals, and the return to low inflation and low nominal interest rates, which allowed people to borrow a lot more for the same monthly payments.
With hindsight it's clear we'd long wanted to spend more on better housing so, when the opportunity arose, we did. In the process of everyone wanting to move to a better house at pretty much the same time, however, we greatly bid up the price of houses and acquired a lot of debt.
But now we've adjusted to the new world of lower interest rates and higher levels of debt. We're not getting in any deeper, so have moved back to more normal levels of saving.
While we were watching the value of our homes going up and up we felt richer and so didn't feel we needed to save from our incomes. We stepped up our consumption. But now house prices have levelled off and so we've held back our consumption and returned to saving for the future the normal way.
Point is, the period of consumption spending growing faster than income has ended and is unlikely to return. At present, our efforts to increase our rate of saving mean consumption is growing a lot more slowly than our income is growing.
But as soon as we get our rate of saving back to where we want it to be, we can maintain that rate while consumer spending returns to growing at the same speed as income. With the saving rate already back to 11 per cent, you'd think we must be pretty close to reaching that point. If so, consumer spending could resume a reasonable rate of growth once our present short-term worries lift.
Message for retailers: the party times will never return, but the present tough times won't last.