text:
Populations Of India
Population Of India 2019 | India Population 2019
India Population
Population Of India 2019
India Population | Population of India
India Population | Population of India:- India is a country in South Asia. India is the 7th largest country by area, the second most populated country (with over 1.35 billion people), and the most populated democracy in the world.
In 2017, the Indian economy was the world's 6th largest by nominal GDP and third largest by purchasing power parity(PPP). Following market-based economic reforms in 1991, India became one of the fastest growing major economies in the world and India is considered a newly industrialised country. However, India continues to face the challenges of poverty, corruption, malnutrition, and inadequate public healthcare. India is a nuclear weapon state and regional power, India has the 2nd largest standing army in the world and ranks 5th in military expenditure among nations.
Population Of India:-
In order to check out the population of India, we need to have a look at the population of the past 5 years.
2014 – 1.26 Billion
India Population 2019 –1.37 Billion (Estimated)
Predicting the 2019 population of India is not easy but we can get the idea after analysing the population from the year 2014 – 18. The population of India in 2019 is forecast to be 1.37 Billion. So, the population of India in the year 2019 as per estimated data is 1.37 Billion.
India Population Forecast
Yearly %
Pop %
2020 1,383,197,753 1.11 % 14,828,755 28.2 2.30 34.0 % 2
2040 1,605,355,574 0.52 % 8,157,070 34.5 1.95 43.7 % 1
Population Density And Growth Of India:
The approximate population of India is 1,350,438,098. The population of India is rising at an alarming rate and this is why the country is known as the 2nd most populated country in the world after China. The population of China is more than 1.41 billion. If we review this figure it is not wrong to say that one out of 6 people on this planet belongs to India. The population of India is increasing with the growth rate at 1.19% and it will touch the 1.53 billion by the end of 2030 (Prediction).
If we talk about the population density of India, it is 387.9 people per square kilometre (1,004.7/square mile).
Demographics of India
During 1975–2010 the population of India doubled to 1.2 billion. The population of India reached the billion mark in 1998. India is projected to be the world's most populated country by 2024, surpassing the population of China. It is expected to become the 1st political entity in history to be home to more than 1.5 billion people by 2030, and its population is set to reach 1.7 billion by 2050. India's population growth rate is 1.13%, ranking 112th in the world in 2017.
India has more than 50% of its people below the age of 25 and more than 65% below the age of 35. India has more than 2 thousand ethnic groups, and every major religion is represented, as are 4 major families of languages (Indo-European, Dravidian, Austroasiatic and Sino-Tibetan languages) as well as 2 language isolates (the Nihali language is spoken in parts of Maharashtra and the Burushaski language spoken in parts of Jammu and Kashmir (Kashmir).
The sex ratio in India is 944 females for 1000 males (2016) (940 per 1000 in 2011) This ratio has been showing an upward trend for the last 2 decades after a continuous decline in the last century.
Comparative Demographics
Area 7th
Population 2nd
Population growth rate 102nd of 212 in 2010
Population density 24th of 212 in 2010
Male to Female ratio 12th of 214 in 2009
Population growth of India per decade
1951 361,088,000 –
1961 439,235,000 21.6
2001 1,028,737,436 21.5
The literacy rate in 2011 overall was 74.04%, 65.46% among females and 82.14% among males. Kerala is the most literate Indian state with 93.91% literacy; while Bihar the least with 63.82%.
Religion in India
India is a Fully secular state with no state religion. The Indian subcontinent is the birthplace of 4 of the world's major religions; namely Hinduism, Buddhism, Jainism and Sikhism. Religious diversity and religious tolerance are both established in India by the law and custom; the Constitution of India has declared the right to freedom of religion to be a fundamental right.
India is home to around 90% of the global population of Hindu. Most Hindu temples are located in India, as are the birthplaces of most Hindu saints. The Indian community in the West has popularised many aspects of Hindu philosophy such as yoga, meditation, Ayurvedic medicine, divination, karma, and reincarnation.
According to the census 2011, 79.8% of the population of India practices Hinduism and 14.2% adheres to Islam, while the remaining 6% adheres to other religions (Christianity, Sikhism, Buddhism, Jainism and various indigenous ethnically-bound faiths). Christianity is the 3rd largest religion in India.
India has the 3rd largest Shia population in the world and being the cradle of Ahmadiyya Islam, India is one of the countries in the world with at least 2 million Ahmadi Muslims.
84.1% 83.45% 82.73% 82.30% 81.53% 80.46% 79.80%
9.8% 10.69% 11.21% 11.75% 12.61% 13.43% 14.23%
2.3% 2.44% 2.60% 2.44% 2.32% 2.34% 2.30%
1.79% 1.79% 1.89% 1.92% 1.94% 1.87% 1.72%
0.13% 0.09% 0.09% 0.09% 0.08% 0.06% n/a
Others/Not specified
0.43% 0.43% 0.41% 0.42% 0.44% 0.72% 0.9%
India is the 7th largest country in the world, with a total area of 3,287,469 sq kilometres. The Palk Strait and Gulf of Mannar separate India from Sri Lanka, and the Maldives are some 125 kilometres to the south of India's Lakshadweep Islands across the Eight Degree Channel.
The Ganga is the longest river in India. In the Indian state of Jammu and Kashmir K2 is the highest point in India at 8,611 m and the world's 2nd highest peak.
States (1–29) & Union territories (A-G)
1. Andhra Pradesh 19. Nagaland
2. Arunachal Pradesh 20. Odisha
3. Assam 21. Punjab
4. Bihar 22. Rajasthan
5. Chhattisgarh 23. Sikkim
6. Goa 24. Tamil Nadu
7. Gujarat 25. Telangana
8. Haryana 26. Tripura
9. Himachal Pradesh 27. Uttar Pradesh
10. Jammu and Kashmir 28. Uttarakhand
11. Jharkhand 29. West Bengal
12. Karnataka A. Andaman and Nicobar Islands
13. Kerala B. Chandigarh
14. Madhya Pradesh C. Dadra and Nagar Haveli
15. Maharashtra D. Daman and Diu
16. Manipur E. Lakshadweep
17. Meghalaya F. National Capital Territory of Delhi
18. Mizoram G. Puducherry
Odisha Population
The Indian economy is a developing mixed economy. India is the world's 6th largest economy by nominal GDP and the 3rd largest by purchasing power parity (PPP). India ranks 139th in per capita GDP (nominal) with $2,134 and 122nd in per capita GDP (PPP) with $7,783 as of 2018.
Indian economy is positive due to its young population, healthy savings and investment rates, and increasing integration into the global economy. India topped the World Bank's growth outlook for the first time in the fiscal year 2015–16, during which the economy grew 7.6%. Despite previous reforms, economic growth is still significantly slowed by bureaucracy, poor infrastructure, and inflexible labour laws.
India has become a major exporter in IT services, Business Process Outsourcing (BPO) services, and software services with $154 billion revenue in FY 2017. This is the fastest-growing part of the economy. India is the 3rd largest start-up hub in the world with over 3,100 technology start-ups in 2014–15. The agricultural sector is declining share of its GDP (17% in 2013–14). India ranks 2nd worldwide in farm output. The manufacturing sector has held a steady share of its economic contribution (26% of GDP in 2013–14). India had $600 billion worth of retail market in 2015 and one of the world's fastest growing e-commerce markets.
The main economic indicators in 1980–2017
(in Bil. USD PPP)
(in USD PPP)
Share of world
(GDP PPP)
1980 382.0 557 2.89 % 5.3 % 11.3 %
1982 486.5 680 3.11 % 3.5 % 7.7 %
1988 819.3 1,007 3.49 % 9.6 % 7.2 %
1990 986.9 1,164 3.62 % 5.5 % 11.2 %
1991 1,030.6 1,193 3.57 % 1.1 % 13.5 %
1992 1,111.8 1,261 3.38 % 5.5 % 9.9 %
2010 5,312.4 4,425 5.95 % 10.3 % 9.5 %
According to a 2011 PwC (PricewaterhouseCoopers ) report, India's GDP at purchasing power parity could overtake that of the US by 2045. During the next 4 decades, Indian GDP is expected to grow at an annualised average of 8%, making it potentially the world's fastest-growing major economy until 2050.
Hindi is not the national language of India. The India Constitution does not give any language the status of national language. The govt of India has awarded the distinction of classical language to Kannada, Malayalam, Odia, Sanskrit, Tamil and Telugu.
According to the 2001 Census of India, India has 122 major languages and 1599 other languages. The 2001 Census recorded 30 languages which were spoken by more than a million domestic speakers and 122 which were spoken by more than 10,000 people. English is also an important language in India. Hindi is the most spoken language in India. Tamil Nadu, Karnataka, Maharashtra, West Bengal, Assam, Punjab and other non-Hindi regions have also started to voice concerns about Hindi.
Top 10 Languages of India by number of speakers(2001 census)
Percentage (%)
1 Hindi 422,048,642 41.030
2 Bengali 83,369,769 8.110
3 Telugu 74,002,856 7.190
4 Marathi 71,936,894 6.990
5 Tamil 60,793,814 5.910
6 Urdu 51,536,111 5.010
7 Gujarati 46,091,617 4.480
8 Kannada 37,924,011 3.690
9 Malayalam 33,066,392 3.210
10 Odia 33,017,446 3.210
Top 10 Most Populated States In India:
Uttar Pradesh is a state in north India. Also Known as UP, Uttar Pradesh is the most populated state in India as well as the most populated country subdivision in the world. The densely populated Uttar Pradesh, located in the northern region of the Indian subcontinent, has over 200 million people. Uttar Pradesh is divided into 18 divisions and 75 districts. The capital of Uttar Pradesh in Lucknow. The main ethnic group in Uttar Pradesh is the Hindavi people. Uttar Pradesh has two major rivers, the Ganges and Yamuna, join at Prayagraj.
Uttar Pradesh has several historical, natural, and religious tourist destinations, such as Agra, Ayodhya, Vrindavan (Mathura), Varanasi and Prayagraj.
Maharashtra is in the western region of India and is India's second-most populated state and third-largest state by area. Maharashtra is bordered by the Arabian Sea to the west and the Indian states of Karnataka, Telangana, Goa, Gujarat, Chhattisgarh, and Madhya Pradesh and the Union territory of Dadra and Nagar Haveli. Maharashtra also the world's 2nd most populated subnational entity. It has over 112 million people and its capital, Mumbai, has a population of around 18 million making it the most populous urban area in India. The Godavari and the Krishna are the two major rivers in Maharashtra.
Maharashtra is the wealthiest state in India. Maharashtra continues to be the single largest contributor to the national economy with a share of 15% in the country's GDP 9gross domestic product). Maharashtra played a significant role in the country's social and political life. The economy of Maharashtra is the largest state economy in India with (US$390 billion in GDP and a per capita GDP of ₹180,000 (US$2,500).
Bihar is in the part of Eastern and Northern India. Bihar is the thirteenth largest Indian state. Bihar is 3rd largest state by population, it is linked with Uttar Pradesh to its west, Nepal to the north, the northern part of West Bengal to the east, with Jharkhand to the south.
Bihar have the highest proportion of young people of any Indian state. In ancient India, the area that is now Bihar was considered a centre of power, learning, and culture.
West Bengal With over 91 million people (as of 2011), it is India's 4th most populated state. It has an area of 34,267 sq mi. West Bengal has borders Bangladesh in the east and Nepal and Bhutan in the north. West Bengal also borders the Indian states of Odisha, Jharkhand, Bihar, Sikkim, and Assam. West Bengal capital is Kolkata (Calcutta), the 7th largest city in India. The main ethnic group of West Bengal are the Bengalis, with Bengali Hindus forming the demographic majority.
The economy of WB is the 6th largest state economy in India with US$150 billion in gross domestic product and a per capita GDP of ₹108,000 (US$1,500).
Madhya Pradesh also is known as MP, Madhya Pradesh is a state in central India. Madhya Pradesh's capital is Bhopal, and the largest city is Indore. Madhya Pradesh is the 2nd largest Indian state by area and the 5th largest state by population with over 75 million people. Madhya Pradesh's total area is 308,252 km2.
More than 30% of Madhya Pradesh's area is under forest cover. Madhya Pradesh's tourism industry has seen considerable growth. In recent years, Madhya Pradesh's GDP growth has been above the national average.
Tamil Nadu's capital and largest city are Chennai. Tamil Nadu situated in the south part of the Indian subcontinent and is bordered by the union territory of Puducherry and the South Indian states of Kerala, Karnataka, and Andhra Pradesh. Tamil Nadu shares a maritime border with the nation of Sri Lanka.
Tamil Nadu is the 11th largest Indian state by area and the 6th largest state by population. Tamil Nadu has high HDI ranking among Indian states as of 2015. The economy of Tamil Nadu is the 2nd largest state economy in India with US$220 billion in the gross domestic product after Maharashtra and a per capita GDP of ₹167,000 (US$2,300). It was ranked as one of the top 7 developed states in India based on a "Multidimensional Development Index" in a 2013 report published by the Reserve Bank of India. Tamil Nadu's official language is Tamil, which is one of the longest surviving classical languages in the world.
Rajasthan is a state in north India. Rajasthan covers an area of 342,239 square kilometres. Rajasthan is the largest Indian state by area and the 7th largest by population. Rajasthan is located on the north side of India. Rajasthan shares a border with the Pakistani provinces of Punjab to the north and Sindh to the west, along with the Sutlej-Indus river valley.
Rajasthan is also home to 3 national tiger reserves, the Ranthambore National Park in Sawai Madhopur, Sariska Tiger Reserve in Alwar and Mukundra Hill Tiger Reserve in Kota. Rajasthan's capital and largest city are Jaipur. Some Other important cities are Jodhpur, Kota, Bikaner, Ajmer and Udaipur.
Karnataka is a state in the south of India. Karnataka's capital and largest city are Bangalore (Bengaluru). Karnataka covers an area of 191,976 square kilometres. Karnataka is the 7th largest Indian state by area. With 61,130,704 peoples at the 2011 census, Karnataka is the 8th largest state by population. Kannada, one of the classical languages of India, is the most widely spoken and official language of Karnataka alongside Konkani, Marathi, Tulu, Tamil, Telugu, Malayalam, Kodava and Beary.
The economy of Karnataka is the 5th largest state economy in India with US$200 billion in gross domestic product and a per capita GDP of ₹174,000 (US$2,400).
Gujarat is a state in West India and Northwest India, Gujarat has a coastline of 1,600 km. Gujarati's the 6th largest Indian state by area and the 9th largest state by population. Gujarat's capital is Gandhinagar, while its largest city is Ahmedabad. The economy of Gujarat is the 3rd largest state economy in India with US$210 billion in gross domestic product and a per capita GDP of ₹157,000 (US$2,200).
Along with Bihar and Nagaland, Gujarat is one of the 3 Indian states to prohibit the sale of alcohol.
Andhra Pradesh is Situated in the south-east of India, it is the 8th largest state in India, Andhra Pradesh has covering an area of 62,920 sq mi. As per the 2011 census, it is the 10th most populated state, with 49,386,799 people. The largest city in AP is Visakhapatnam. Telugu is the major and official language of Andhra Pradesh.
Andhra Pradesh has a coastline of 974 km, the 2nd longest coastline among the states of India after Gujarat. Andhra Pradesh is bordered by Telangana in the north-west, Chhattisgarh and Odisha in the north-east, Karnataka in the west, Tamil Nadu in the south, and to the east lies the Bay of Bengal. The economy of Andhra Pradesh is the 7th largest state economy in India with US$120 billion in gross domestic product and a per capita GDP of ₹142,000 (US$2,000). AP hosted 121.8 million visitors in 2015, a 30% growth in tourist arrivals over the previous year, making it the 3rd most-visited state in India.
Thank you for reading this article India Population | Population of India. Please Comment and share this India Population | Population of India article.
Population Of Nagpur | Nagpur Population 2019
Population Of Nashik | Nashik Population 2019
Population Of Mysore | Mysore Population 2019
Population Of Gurgaon | Gurgaon Population 2019
Population Of Raipur | Raipur Population 2019
Arunachal Pradesh Population
Assam Population
Bangalore Population
Cuttack Population
Delhi Population
Goa Population
Gorakhpur Population
Gurgaon Population
Guwahati Population
Himachal Pradesh Population
Jammu Population
Jodhpur Population
Kanpur Population
Kochi Population
Kota Population
Meghalaya Population
Mumbai Population
Mysore Population
Nagaland Population
Nagpur Population
Nashik Population
Raipur Population
Rohtak Population
Sikkim Population
Siliguri Population
Tamil Nadu Population
Telangana Population
Tripura population
Udaipur Population
Uttar Pradesh Population


Transit City 4 - Coming Soon!
Transit City 4 - Reserve your unit!
GET Platinum VIP Access to this project! If you are interested let me know ASAP to secure your unit before this sells out.
Transit City 4 will be launching April 4, 2019! To secure your unit, complete the form to the right to be added to the list of interested clients. I have VIP Platinum Access to this project and can get you the unit you want. Prices will start from the upper $300's to Upper $500's. You can pick from the 1 Bdrm 1 Bath, I Bdrm plu Den with 2 Baths or 2 Bdrm 2 Baths units.
Are you thinking of buying a PreConstruction Condo? Then you need to seriously consider Transit City Condos. This project will launch on Tues. May 23, 2017. As a Platinum Agent, I can help you get a unit in this project, get in touch with me ASAP, don't wait or you will miss out!
Transit City is a 55-storey residential condominium project located in the heart of the GTA, just steps from the TTC's newest subway stop (Vaughan Metropolitan Centre). Transit City is being developed in partnership with SmartREIT and Mitchell Goldhar and will be the first residential development in the 100-acre SmartCentres Place. By virtue of the subway and other nearby transit infrastructure (York Regional Transit, the VIVA line, Highway 7 and Highway 400), Transit City is "43 Minutes from Everything". Transit City will also be home to the first BUCA-branded restaurant outside Toronto's Downtown core, providing guests and residents with a mix of offerings throughout the day, ranging from coffee and pastries to lunch, dinner, and late-night cocktails – and an experience reminiscent of the nicest 5-star hotel lobbies from around the world.


text:
Three-of-Kind Piano Bars in Las Vegas
Editorial, Piano
Gira de la United States Guitar Orchestra (USGO) por España
Modern audiences have other distractions such as televisions, jukeboxes and the like, making the humble piano player something of a rarity across the world. It wasn't always the case; from the East End of London to the bright lights of the United States, bars used to employ piano players to help keep people entertained. You're unlikely to find someone playing Beethoven in these bars but instead will hear contemporary songs and traditional tunes. Even today, big stars such as Coldplay singer Chris Martin have been recorded playing the piano in a bar, caught on camera by People.com during a candid performance.
Another fine example is Billy Joel, who sang the timeless 1973 hit Piano Man. The song is based on his real-life experiences playing the piano in a bar in Los Angeles and features characters he encountered there. After falling out with his record company in New York, he moved to LA, took an assumed name and made a living playing at the now-defunct Executive Room bar in the Wilshire district.
Nowadays, some of the best piano bars in the US can be found in the gaming centre of Las Vegas. Vegas has had some famous piano residencies; Elton John's The Million Dollar Piano is a fine example. Many people go the Vegas for the bright lights and poker games, but there is plenty to do once you have folded and walked away from the table. One thing Poker.org suggest you do in Vegas after playing poker is to take in a show, which doesn't always mean a big show. You might be able to find something worth watching at the great piano bars that line the streets.
Who knows, one of these three locations might even have the next Billy Joel gathering experiences for a worldwide hit.
The Bar in Times Square at New York New York
The Piano Bar at Harrah's
Big Bang at Dick's Last Resort
A visit to the Times Square bar at New York, New York brings two US cities together in an unusual mish-mash. Outside, you're in the Nevada desert, but inside it's a dimly-lit Manhattan bar, with a piano raised on a pedestal to accentuate the sound.
You're likely to hear popular music from across time here, from the 80s to pop classics, and the pianists encourage participation. That means song requests and lots of dancing. There's a cover charge, but you can avoid that if you sit outside and close to a window.
Articles, Piano
Handcrafted Pianos in China: Zhang Gangning and the Endless Search of a Unique Piano Tone
The Bar in Times Square at New York New York.
The Piano Bar at Harrah's is right in the heart of The Strip but also tucked away from the foot traffic. They have a range of performers putting on shows, from the Saxman Duo to Big Elvis. Some of it is Las Vegas-themed, but other performers make you feel you could be anywhere in the world.
You can even have a go at karaoke here, so whilst the talent plays away, you can give the audience a glimpse of your talent (or lack thereof). It's a fun piano bar that invokes images of East End sing-alongs as much as Billy Joel's US experiences.
The Piano Bar at Harrah's.
Over on Fremont Street, Big Bang and Dick's Last Resort is a piano bar for the rough and ready, the rowdy and raucous. Big Bang has several locations worldwide, so you might already know what you're in for when you arrive, but it's all about audience participation. There's a piano duel; the pianists take live requests, and fun is at the top of the menu all night long.
Big Bang at Dick's Last Resort.
Las Vegas Piano Piano Bars Piano Blogs
Classical Performer July 6, 2022
Piano, Releases
Omer Meir Wellber — "Vivaldi & Piazzolla: The Mandolin Seasons" (Hyperion, 2022)
Guest Blogs, Piano
Alicia de Larrocha and Her Catalan Composer Friends

redpajama_set_name: RedPajamaCommonCrawl


Surry Power Station is located about one and a half hours from downtown Richmond. We are working closely with Dominion Energy is hosting a plant tour for students attendees. The total number of available spaces will be limited to 20 participants. Lunch will be provided by Dominion Energy on the tour.
Newport News Shipbuilding is one of the most historically prolific shipyards, building both naval and commercial ships. Located in Newport News, VA, approximately one and a half hours from Richmond, their facilities span more than 550 acres in one of the great harbor areas of the East Coast. Moreover, Newport News Shipbuilding is the sole designer, builder and refueler of U.S. Navy aircraft carriers and one of two providers of U.S. Navy submarines. With approximately $4 billion in revenues and more than 20,000 employees, NNS is the largest industrial employer in Virginia and the largest shipbuilding company in the United States. The students will have the opportunity to tour facilities in a bus tour provided by the company. Afterwards engineers will share their experience with augmented reality. This tour will be limited to 40 participants.
In this tour, students will have the opportunity to visit Hampton University's Proton Therapy Institute. The capacity will be limited to 50 participants. When confronting cancer, there are countless paths towards recovery, each with their own benefits and challenges. Proton therapy is one of those paths, delivering effective, focused radiation treatment for a multitude of cancer types. While similar to conventional radiation, proton therapy delivers a much more precise dose of energy to the targeted area, often resulting in fewer side effects and less damage to surrounding tissue and organs as compared to traditional cancer treatments. As an alternative to traditional therapies, proton radiation is noninvasive and only lasts about a minute for each session, allowing many patients to continue leading their regular lives with few challenges. Come take a tour of the largest free-standing proton therapy facility in the world.
Hardywood Brewery is one of Richmond's favorite spots. It was founded in Richmond and has been soulfully brewing beer since 2011. Today, Hardywood operates a brewery and taproom in Richmond, will be opening a brewery and taproom in Charlottesville soon, and has plans for a $28M brewing facility and beer campus in Goochland, Virginia slated for 2018. One of the more unique characteristics of this expanding brewing company is its commitment to minimizing their environmental impact through striving to source all of their power through renewable energy. Note this is a 21+ event and the capacity of this tour will be 50.
A small group tour will be available for students interested in seeing the inside of a nuclear sub. Forty participants will have an opportunity to travel to Norfolk, Va and visit a US Navy base.


This paper investigates the construction of a privacy preserving StatDB that can (i) accurately answer an infinite number of counting queries, and (ii) A statistical database (StatDB) retrieves only aggregate results, as opposed to individual tuples.
Summit Machinery Sales, LLC sells clean used construction machinery, specializing in skid steer loaders, backhoe loaders, wheel loaders, dozers, and smaller excavator convenient to the Denver area, just 25 miles northeast on I-76.
About Us. For the past 32 years, RoadBuilders Machinery Supply has grown to be the leading construction equipment distributor in the Midwest, servicing Kansas, Nebraska, Iowa Missouri.
Customize your teaching materials in less time with Course Hero's growing library of more than 10,000,000 lesson plans, study guides, and more. Gain access to Course Hero for free when you share your own resources with our community.
To see articles, please select from the publications.
BOISE WEST EQUIPMENT, LLC of Boise, ID has 20 years of experience in the Used Truck Equipment Business. Bringing expertise in the fields of Light Industrial and Heavy Construction Equipment; Over-the-Road Trucks and Trailers; as well as Pickups, Trailers, Compressors, Snow Removal Equipment and a Variety of Miscellaneous Items.


As we, ever so slowly, emerge from the depths of a dreadful winter, the weather, and roads, are becoming more and more conducive to skating. Chris and I took full advantage, strapped the camera to the car, and pressed record. Chris finally got to put some real wear and tear on his 82a motions, and, as you can see, he definitely digs them. Spring is here, go skate.
Photos: Lauren and Me in Zombie Town, U.S.A.
Lauren and I were skating the derelict old village area of one of our favorite freeride spots and decided to take some photos today. These are two of our favorite shots, if you want to see the entire album head on over to our Facebook Page and become a fan of ours while you're at it!
Thanks to Lauren for snapping the shot of me!


text:
import os

current_path = os.path.dirname(os.path.abspath(__file__))
header = False
sub_header = False
footer = False
buttons = False
lists = False
cards = False
forms = False
toogle = True
checkbox = False
radio_button = False
range_control = False
select_control = False
tabs = True
actionSheet = False
backdrop = False
scrollDelegate = False
loading = False
modal = False
navigation = False
platform = False
popover = False
popup = False
side_menu = False
utility = False

def create_snippet_string(tabTrigger, content, scope, description):
    tabTrigger_tag = "<tabTrigger>" + tabTrigger + "</tabTrigger>"
    content_tag = "<content><![CDATA[" + content + "]]></content>"
    scope_tag = "<scope>" + scope + "</scope>"
    if len(description) == 0:
        description_tag = "<description>...</description>"
    else:
        description_tag = "<description>" + description + "</description>"
    snippet_string = "<snippet>\n\t" + content_tag + "\n\t" + tabTrigger_tag +\
        "\n\t" + scope_tag + "\n\t" + description_tag + "\n" + "</snippet>"
    return snippet_string

def create_snippet_file(path_name_file, tabTrigger, content, scope, description):

    snippet_str = create_snippet_string(
        tabTrigger, content, scope, description)
    output_file = open(path_name_file, "w+")
    output_file.write(snippet_str)
    output_file.close()

if header:
    output_folder = current_path + '/Header/'
    css_bars = ['bar-light', 'bar-stable', 'bar-positive',
                'bar-calm', 'bar-balanced', 'bar-energized',
                            'bar-assertive', 'bar-royal', 'bar-dark']

    header_desc = ['Ionic Light Header', 'Ionic Stable Header', 'Ionic Positive Header',
                   'Ionic Calm Header', 'Ionic Balanced Header', 'Ionic Energized Header',
                   'Ionic Assertive Header', 'Ionic Royal Header', 'Ionic Dark Header']

    for idx, bar in enumerate(css_bars):
        header_str = '
 \n' + \
            '\t
${1:' + bar + '}
 \n' + '
'
        snippet_str = create_snippet_string(
            'ionic-header-' + bar[4:], header_str, 'text.html', header_desc[idx])
        output_file = open(
            output_folder + 'ionic-header-' + bar[4:] + ".sublime-snippet", "w+")
        output_file.write(snippet_str)
        output_file.close()

if sub_header:
    output_folder = current_path + '/SubHeader/'

    css_bars = ['bar-light', 'bar-stable', 'bar-positive',
                'bar-calm', 'bar-balanced', 'bar-energized',
                            'bar-assertive', 'bar-royal', 'bar-dark']

    subheader_desc = ['Ionic Light SubHeader', 'Ionic Stable SubHeader', 'Ionic Positive SubHeader',
                      'Ionic Calm SubHeader', 'Ionic Balanced SubHeader', 'Ionic Energized SubHeader',
                      'Ionic Assertive SubHeader', 'Ionic Royal SubHeader', 'Ionic Dark SubHeader']

    for idx, bar in enumerate(css_bars):
        strr = '
 \n' + \
            '\t
$0
 \n' + '
'
        snippet_str = create_snippet_string(
            'ionic-subheader-' + bar.split('-')[1], strr, 'text.html', subheader_desc[idx])
        output_file = open(
            output_folder + 'ionic-subheader-' + bar.split('-')[1] + ".sublime-snippet", "w+")
        output_file.write(snippet_str)
        output_file.close()

if footer:
    output_folder = current_path + '/Footer/'
    css_bars = ['bar-light', 'bar-stable', 'bar-positive',
                'bar-calm', 'bar-balanced', 'bar-energized',
                            'bar-assertive', 'bar-royal', 'bar-dark']

    footer_desc = ['Ionic Light Footer', 'Ionic Stable Footer', 'Ionic Positive Footer',
                   'Ionic Calm Footer', 'Ionic Balanced Footer', 'Ionic Energized Footer',
                   'Ionic Assertive Footer', 'Ionic Royal Footer', 'Ionic Dark Footer']

    for idx, bar in enumerate(css_bars):
        strr = '
 \n' + \
            '\t
${1:' + bar + '}
 \n' + '
'
        snippet_str = create_snippet_string(
            'ionic-footer-' + bar[4:], strr, 'text.html', footer_desc[idx])
        output_file = open(
            output_folder + 'ionic-footer-' + bar[4:] + ".sublime-snippet", "w+")
        output_file.write(snippet_str)
        output_file.close()

if buttons:
    output_folder = current_path + '/Buttons/'
    css_buttons = ['button-light', 'button-stable', 'button-positive', 'button-calm',
                                                    'button-balanced', 'button-energized', 'button-assertive', 'button-royal', 'button-dark']

    for button_color in css_buttons:
        regular_button = '<button class="button ' + button_color + \
            '"> \n' + '\t ${1:' + button_color + '}\n' + '</button>'
        block_button = '<button class="button button-block ' + button_color + \
            '"> \n' + '\t ${1:' + button_color + '}\n' + '</button>'
        full_button = '<button class="button button-full ' + button_color + \
            '"> \n' + '\t ${1:' + button_color + '}\n' + '</button>'
        small_button = '<button class="button button-small ' + button_color + \
            '"> \n' + '\t ${1:' + button_color + '}\n' + '</button>'
        large_button = '<button class="button button-large ' + button_color + \
            '"> \n' + '\t ${1:' + button_color + '}\n' + '</button>'
        outline_button = '<button class="button button-outline ' + \
            button_color + '"> \n' + \
            '\t ${1:' + button_color + '}\n' + '</button>'
        clear_button = '<button class="button button-clear ' + button_color + \
            '"> \n' + '\t ${1:' + button_color + '}\n' + '</button>'
        icon_left_button = '<button class="button icon-left ${1:ionicon} ' + \
            button_color + '"> \n' + \
            '\t ${2:' + button_color + '}\n' + '</button>'
        icon_right_button = '<button class="button icon-right ${1:ionicon} ' + \
            button_color + '"> \n' + \
            '\t ${2:' + button_color + '}\n' + '</button>'
        button_bar = '
$0
'

        snippet_str = create_snippet_string(
            'ionic-button-' + button_color[7:], regular_button, 'text.html', 'Ionic Button')
        output_file = open(
            output_folder + 'ionic-button-' + button_color[7:] + ".sublime-snippet", "w+")
        output_file.write(snippet_str)
        output_file.close()

        snippet_str = create_snippet_string('ionic-button-block-' + button_color[
                                            7:], block_button, 'text.html', 'Ionic Block Button')
        output_file = open(
            output_folder + 'ionic-button-block-' + button_color[7:] + ".sublime-snippet", "w+")
        output_file.write(snippet_str)
        output_file.close()

        snippet_str = create_snippet_string(
            'ionic-button-full-' + button_color[7:], full_button, 'text.html', 'Ionic Full Button')
        output_file = open(
            output_folder + 'ionic-button-full-' + button_color[7:] + ".sublime-snippet", "w+")
        output_file.write(snippet_str)
        output_file.close()

        snippet_str = create_snippet_string('ionic-button-small-' + button_color[
                                            7:], small_button, 'text.html', 'Ionic Small Button')
        output_file = open(
            output_folder + 'ionic-button-small-' + button_color[7:] + ".sublime-snippet", "w+")
        output_file.write(snippet_str)
        output_file.close()

        snippet_str = create_snippet_string('ionic-button-large-' + button_color[
                                            7:], large_button, 'text.html', 'Ionic Large Button')
        output_file = open(
            output_folder + 'ionic-button-large-' + button_color[7:] + ".sublime-snippet", "w+")
        output_file.write(snippet_str)
        output_file.close()

        snippet_str = create_snippet_string('ionic-button-outline-' + button_color[
                                            7:], outline_button, 'text.html', 'Ionic Outline Button')
        output_file = open(
            output_folder + 'ionic-button-outline-' + button_color[7:] + ".sublime-snippet", "w+")
        output_file.write(snippet_str)
        output_file.close()

        snippet_str = create_snippet_string('ionic-button-clear-' + button_color[
                                            7:], clear_button, 'text.html', 'Ionic Clear Button')
        output_file = open(
            output_folder + 'ionic-button-clear-' + button_color[7:] + ".sublime-snippet", "w+")
        output_file.write(snippet_str)
        output_file.close()

        snippet_str = create_snippet_string('ionic-button-icon-left-' + button_color[
                                            7:], icon_left_button, 'text.html', 'Ionic Icon Left Button')
        output_file = open(
            output_folder + 'ionic-button-icon-left-' + button_color[7:] + ".sublime-snippet", "w+")
        output_file.write(snippet_str)
        output_file.close()

        snippet_str = create_snippet_string('ionic-button-icon-right-' + button_color[
                                            7:], icon_right_button, 'text.html', 'Ionic Icon Right Button')
        output_file = open(
            output_folder + 'ionic-button-icon-right-' + button_color[7:] + ".sublime-snippet", "w+")
        output_file.write(snippet_str)
        output_file.close()

        snippet_str = create_snippet_string(
            'ionic-button-bar-' + button_color[7:], button_bar, 'text.html', 'Ionic Bar Button')
        output_file = open(
            output_folder + 'ionic-button-bar-' + button_color[7:] + ".sublime-snippet", "w+")
        output_file.write(snippet_str)
        output_file.close()

if lists:

    output_folder = current_path + '/Lists/'
    item_basic = '$0'
    item_divider = '
$0
'
    item_icon_left = '$0'
    item_icon_right = '$0'
    item_icon_left_right = '$0'
    item_button_right = '$0'
    item_button_left = '$0'
    item_avatar = '\n' + \
        '\t\n' + \
        '\t
${2:title}
\n' + '\t
${3:description}
\n' + ''
    item_thumbnail_left = '\n' + \
        '\t\n' + \
        '\t
${2:title}
\n' + '\t
${3:description}
\n' + ''
    item_thumbnail_right = '\n' + \
        '\t\n' + \
        '\t
${2:title}
\n' + '\t
${3:description}
\n' + ''
    list_inset = '
$0
'
    collection_repeat = '
$0\n' + \
        '
'

    ionicListDelegate_showReorder = '\$ionicListDelegate.showReorder(${1:true});'
    ionicListDelegate_showDelete = '\$ionicListDelegate.showDelete(${1:true});'
    ionicListDelegate_canSwipeItems = '\$ionicListDelegate.canSwipeItems(${1:true});'
    ionicListDelegate_closeOptionButtons = '\$ionicListDelegate.closeOptionButtons();'

    snippet_str = create_snippet_string(
        'ionic-item', item_basic, 'text.html', 'Ionic Item')
    output_file = open(
        output_folder + 'ionic-item' + ".sublime-snippet", "w+")
    output_file.write(snippet_str)
    output_file.close()

    snippet_str = create_snippet_string(
        'ionic-item-divider', item_divider, 'text.html', 'Ionic Item Divider')
    output_file = open(
        output_folder + 'ionic-item-divider' + ".sublime-snippet", "w+")
    output_file.write(snippet_str)
    output_file.close()

    snippet_str = create_snippet_string(
        'ionic-item-icon-left', item_icon_left, 'text.html', 'Ionic Icon Left Item')
    output_file = open(
        output_folder + 'ionic-item-icon-left' + ".sublime-snippet", "w+")
    output_file.write(snippet_str)
    output_file.close()

    snippet_str = create_snippet_string(
        'ionic-item-icon-right', item_icon_right, 'text.html', 'Ionic Icon Right Item')
    output_file = open(
        output_folder + 'ionic-item-icon-right' + ".sublime-snippet", "w+")
    output_file.write(snippet_str)
    output_file.close()

    snippet_str = create_snippet_string(
        'ionic-item-icon-left-right', item_icon_left_right, 'text.html', 'Ionic Icon Left Right Item')
    output_file = open(
        output_folder + 'ionic-item-icon-left-right' + ".sublime-snippet", "w+")
    output_file.write(snippet_str)
    output_file.close()

    snippet_str = create_snippet_string(
        'ionic-item-button-right', item_button_right, 'text.html', 'Ionic Button Right Item')
    output_file = open(
        output_folder + 'ionic-item-button-right' + ".sublime-snippet", "w+")
    output_file.write(snippet_str)
    output_file.close()

    snippet_str = create_snippet_string(
        'ionic-item-button-left', item_button_left, 'text.html', 'Ionic Button Left Item')
    output_file = open(
        output_folder + 'ionic-item-button-left' + ".sublime-snippet", "w+")
    output_file.write(snippet_str)
    output_file.close()

    snippet_str = create_snippet_string(
        'ionic-item-avatar', item_avatar, 'text.html', 'Ionic Avatar Item')
    output_file = open(
        output_folder + 'ionic-item-avatar' + ".sublime-snippet", "w+")
    output_file.write(snippet_str)
    output_file.close()

    snippet_str = create_snippet_string(
        'ionic-item-thumbnail-left', item_thumbnail_left, 'text.html', 'Ionic Left Thumbnail Item')
    output_file = open(
        output_folder + 'ionic-item-thumbnail-left' + ".sublime-snippet", "w+")
    output_file.write(snippet_str)
    output_file.close()

    snippet_str = create_snippet_string(
        'ionic-item-thumbnail-right', item_thumbnail_right, 'text.html', 'Ionic Right Thumbnail Item')
    output_file = open(
        output_folder + 'ionic-item-thumbnail-right' + ".sublime-snippet", "w+")
    output_file.write(snippet_str)
    output_file.close()

    snippet_str = create_snippet_string(
        'ionic-list-inset', list_inset, 'text.html', 'Ionic Inset List')
    output_file = open(
        output_folder + 'ionic-list-inset' + ".sublime-snippet", "w+")
    output_file.write(snippet_str)
    output_file.close()

    snippet_str = create_snippet_string(
        'ionic-collection-repeat', collection_repeat, 'text.html', 'Ionic Collection Repeat')
    output_file = open(
        output_folder + 'ionic-collection-repeat' + ".sublime-snippet", "w+")
    output_file.write(snippet_str)
    output_file.close()

    snippet_str = create_snippet_string(
        '$ionicListDelegate.showReorder', ionicListDelegate_showReorder, 'source.js', 'Ionic List Delegate')
    output_file = open(
        output_folder + 'ionicListDelegate.showReorder' + ".sublime-snippet", "w+")
    output_file.write(snippet_str)
    output_file.close()

    snippet_str = create_snippet_string(
        '$ionicListDelegate.showDelete', ionicListDelegate_showDelete, 'source.js', 'Ionic List Delegate')
    output_file = open(
        output_folder + 'ionicListDelegate.showDelete' + ".sublime-snippet", "w+")
    output_file.write(snippet_str)
    output_file.close()

    snippet_str = create_snippet_string(
        '$ionicListDelegate.canSwipeItems', ionicListDelegate_canSwipeItems, 'source.js', 'Ionic List Delegate')
    output_file = open(
        output_folder + 'ionicListDelegate.canSwipeItems' + ".sublime-snippet", "w+")
    output_file.write(snippet_str)
    output_file.close()

    snippet_str = create_snippet_string(
        '$ionicListDelegate.closeOptionButtons', ionicListDelegate_closeOptionButtons, 'source.js', 'Ionic List Delegate')
    output_file = open(
        output_folder + 'ionicListDelegate.closeOptionButtons' + ".sublime-snippet", "w+")
    output_file.write(snippet_str)
    output_file.close()

if cards:

    output_folder = current_path + '/Cards/'
    card = '
\n' + '\t
\n' + \
        '\t\t${1:desc}\n' + '\t
\n' + '
'
    card_header = '
\n' + '\t
\n' + \
        '\t\t${1:header}\n' + '\t
\n' + '\t
\n' + \
        '\t\t${2:desc}\n' + '\t
\n' + '
'
    card_footer = '
\n' + '\t
\n' + \
        '\t\t${1:desc}\n' + '\t
\n' + '\t
\n' + \
        '\t\t${2:footer}\n' + '\t
\n' + '
'
    card_header_footer = '
\n' + '\t
\n' + \
        '\t\t${1:header}\n' + '\t
\n' + '\t
\n' + '\t\t${2:desc}\n' + \
        '\t
\n' + '\t
\n' + \
        '\t\t${3:footer}\n' + '\t
\n' + '
'
    card_list_item = '\n' + \
        '\t\n' + '\t${2:desc}\n' + ''
    card_list = '
\n' + '\t$0\n' + '
'

    item_avatar = '
\n' + \
        '\t\n' + '\t
${2:title}
\n' + \
        '\t
${3:description}
\n' + '
\n'
    item_image = '
\n' + \
        '\t\n' + '
\n'
    item_link = '\n' + \
        '\t\n' + '\t${8:text_link}\n' + ''
    card_image = item_avatar + item_image + item_link

    item_body = '
\n' + \
        '\t\n' + \
        '\t
${5:description}
\n' + \
        '\t
\n' + \
        '\t\t1 Like\n' + \
        '\t\t5 Comments\n' + \
        '\t
\n' + \
        '
\n\n'

    item_tabs = '
\n' + \
        '\t\n' + \
        '\t\t\n' + \
        '\t\tLike\n' + \
        '\t\n' + \
        '\t\n' + \
        '\t\t\n' + \
        '\t\tComments\n' + \
        '\t\n' + \
        '\t\n' + \
        '\t\t\n' + \
        '\t\tShare\n' + \
        '\t\n' + \
        '
\n'

    card_showcase = item_avatar + item_body + item_tabs

    snippet_str = create_snippet_string(
        'ionic-card', card, 'text.html', 'Ionic Card')
    output_file = open(output_folder + 'ionic-card' + ".sublime-snippet", "w+")
    output_file.write(snippet_str)
    output_file.close()

    snippet_str = create_snippet_string(
        'ionic-card-header', card_header, 'text.html', 'Ionic Header Card')
    output_file = open(
        output_folder + 'ionic-card-header' + ".sublime-snippet", "w+")
    output_file.write(snippet_str)
    output_file.close()

    snippet_str = create_snippet_string(
        'ionic-card-footer', card_footer, 'text.html', 'Ionic Footer Card')
    output_file = open(
        output_folder + 'ionic-card-footer' + ".sublime-snippet", "w+")
    output_file.write(snippet_str)
    output_file.close()

    snippet_str = create_snippet_string(
        'ionic-card-header-footer', card_header_footer, 'text.html', 'Ionic Header Footer Card')
    output_file = open(
        output_folder + 'ionic-card-header-footer' + ".sublime-snippet", "w+")
    output_file.write(snippet_str)
    output_file.close()

    snippet_str = create_snippet_string(
        'ionic-card-list-item', card_list_item, 'text.html', 'Ionic Item Card')
    output_file = open(
        output_folder + 'ionic-card-list-item' + ".sublime-snippet", "w+")
    output_file.write(snippet_str)
    output_file.close()

    snippet_str = create_snippet_string(
        'ionic-card-list', card_list, 'text.html', 'Ionic List Card')
    output_file = open(
        output_folder + 'ionic-card-list' + ".sublime-snippet", "w+")
    output_file.write(snippet_str)
    output_file.close()

    snippet_str = create_snippet_string(
        'ionic-card-image', card_image, 'text.html', 'Ionic Image Card')
    output_file = open(
        output_folder + 'ionic-card-image' + ".sublime-snippet", "w+")
    output_file.write(snippet_str)
    output_file.close()

    snippet_str = create_snippet_string(
        'ionic-card-showcase', card_showcase, 'text.html', 'Ionic Showcase Card')
    output_file = open(
        output_folder + 'ionic-card-showcase' + ".sublime-snippet", "w+")
    output_file.write(snippet_str)
    output_file.close()

if forms:
    output_folder = current_path + '/Forms/'

    basic_input_html_start = '<label class="item item-input'
    basic_input_html_end = ''
    input_placeholder = basic_input_html_start + '">\n' + \
        '\t<input type="text" placeholder="${1:placeholder_1}">\n' + \
        basic_input_html_end

    input_inline = basic_input_html_start + '">\n' + \
        '\t${1:input_name}\n' + \
        '\t<input type="text">\n' + \
        basic_input_html_end

    input_stacked = basic_input_html_start + ' item-stacked-label">\n' + \
        '\t${1:input_name}\n' + \
        '\t<input type="text" placeholder="${2:input_placeholder}">\n' + \
        basic_input_html_end

    input_floating = basic_input_html_start + ' item-floating-label">\n' + \
        '\t${1:input_name}\n' + \
        '\t<input type="text" placeholder="${2:input_placeholder}">\n' + \
        basic_input_html_end

    input_inset = '
\n' + \
        '\t\n' + \
        '\t\t<input type="text" placeholder="${1:input_placeholder}">\n' + \
        '\t\n' + \
        '\t<button class="button button-small">\n' + \
        '\t\t${2:button_name}\n' + \
        '\t</button>\n' + \
        '
\n'

    input_icon = basic_input_html_start + '">\n' + \
        '\t\n' + \
        '\t<input type="text" placeholder="${1:Search}">\n' + \
        basic_input_html_end

    input_header = '
\n' + \
        '\t\n' + \
        '\t\t\n' + \
        '\t\t<input type="search" placeholder="${1:Search}">\n' + \
        '\t\n' + \
        '\t<button class="button button-clear">\n' + \
        '\t\t${2:Cancel}\n' + \
        '\t</button>\n' + \
        '
'

    snippet_str = create_snippet_string(
        'ionic-input-placeholder', input_placeholder, 'text.html', 'ionic-input-placeholder')
    output_file = open(
        output_folder + 'ionic-input-placeholder' + ".sublime-snippet", "w+")
    output_file.write(snippet_str)
    output_file.close()

    snippet_str = create_snippet_string(
        'ionic-input-inline', input_inline, 'text.html', 'ionic-input-inline')
    output_file = open(
        output_folder + 'ionic-input-inline' + ".sublime-snippet", "w+")
    output_file.write(snippet_str)
    output_file.close()

    snippet_str = create_snippet_string(
        'ionic-input-stacked', input_stacked, 'text.html', 'ionic-input-stacked')
    output_file = open(
        output_folder + 'ionic-input-stacked' + ".sublime-snippet", "w+")
    output_file.write(snippet_str)
    output_file.close()

    snippet_str = create_snippet_string(
        'ionic-input-floating', input_floating, 'text.html', 'ionic-input-floating')
    output_file = open(
        output_folder + 'ionic-input-floating' + ".sublime-snippet", "w+")
    output_file.write(snippet_str)
    output_file.close()

    snippet_str = create_snippet_string(
        'ionic-input-inset', input_inset, 'text.html', 'ionic-input-inset')
    output_file = open(
        output_folder + 'ionic-input-inset' + ".sublime-snippet", "w+")
    output_file.write(snippet_str)
    output_file.close()

    snippet_str = create_snippet_string(
        'ionic-input-icon', input_icon, 'text.html', 'ionic-input-icon')
    output_file = open(
        output_folder + 'ionic-input-icon' + ".sublime-snippet", "w+")
    output_file.write(snippet_str)
    output_file.close()

    snippet_str = create_snippet_string(
        'ionic-input-header', input_header, 'text.html', 'ionic-input-header')
    output_file = open(
        output_folder + 'ionic-input-header' + ".sublime-snippet", "w+")
    output_file.write(snippet_str)
    output_file.close()

if toogle:
    output_folder = current_path + '/Toggle/'

    css_toggles = ['toggle-light', 'toggle-stable', 'toggle-positive',
                   'toggle-calm', 'toggle-balanced', 'toggle-energized',
                   'toggle-assertive', 'toggle-royal', 'toggle-dark']

    toggle_desc = ['Ionic Light Toggle', 'Ionic Stable Toggle', 'Ionic Positive Toggle',
                   'Ionic Calm Toggle', 'Ionic Balanced Toggle', 'Ionic Energized Toggle',
                   'Ionic Assertive Toggle', 'Ionic Royal Toggle', 'Ionic Dark Toggle']

    for idx, toggle_color in enumerate(css_toggles):
        toggle_str = '
\n' + \
            '\t${1:desc}\n' + \
            '\t\n' + \
            '\t\t<input type="checkbox">\n' + \
            '\t\t
\n' + \
            '\t\t\t

\n' + \
            '\t\t
\n' + \
            '\t\n' + \
            '
\n'

        snippet_str = create_snippet_string('ionic-toggle-' + toggle_color[7:], toggle_str,
                                            'text.html', toggle_desc[idx])
        output_file = open(
            output_folder + 'ionic-toggle-' + toggle_color[7:] + ".sublime-snippet", "w+")
        output_file.write(snippet_str)
        output_file.close()

if checkbox:
    output_folder = current_path + '/Checkbox/'

    css_checkboxs = ['checkbox-light', 'checkbox-stable', 'checkbox-positive',
                     'checkbox-calm', 'checkbox-balanced', 'checkbox-energized',
                     'checkbox-assertive', 'checkbox-royal', 'checkbox-dark']

    checkbox_desc = ['Ionic Light Checkbox', 'Ionic Stable Checkbox', 'Ionic Positive Checkbox',
                     'Ionic Calm Checkbox', 'Ionic Balanced Checkbox', 'Ionic Energized Checkbox',
                     'Ionic Assertive Checkbox', 'Ionic Royal Checkbox', 'Ionic Dark Checkbox']

    for idx, checkbox_color in enumerate(css_checkboxs):
        checkbox_str = '
\n' + \
            '\t\n' + \
            '\t\t<input type="checkbox">\n' + \
            '\t\n' + \
            '\t${1:desc}\n' + \
            '
\n'

        snippet_str = create_snippet_string('ionic-checkbox-' + checkbox_color[9:], checkbox_str,
                                            'text.html', checkbox_desc[idx])
        output_file = open(
            output_folder + 'ionic-checkbox-' + checkbox_color[9:] + ".sublime-snippet", "w+")
        output_file.write(snippet_str)
        output_file.close()

if radio_button:
    output_folder = current_path + '/Radio Buttons/'

    radio_str = '\n' + \
                '\t<input type="radio" name="group">\n' + \
                '\t
\n' + \
                '\t\t${1:desc}\n' + \
                '\t
\n' + \
                '\t\n' + \
                '\n'

    snippet_str = create_snippet_string(
        'ionic-radio-button', radio_str, 'text.html', 'Ionic Radio Button')
    output_file = open(
        output_folder + 'ionic-radio-button.sublime-snippet', 'w+')
    output_file.write(snippet_str)
    output_file.close()

if range_control:

    output_folder = current_path + '/Range/'

    css_ranges = ['range-light', 'range-stable', 'range-positive',
                  'range-calm', 'range-balanced', 'range-energized',
                  'range-assertive', 'range-royal', 'range-dark']

    range_desc = ['Ionic Light Range', 'Ionic Stable Range', 'Ionic Positive Range',
                  'Ionic Calm Range', 'Ionic Balanced Range', 'Ionic Energized Range',
                  'Ionic Assertive Range', 'Ionic Royal Range', 'Ionic Dark Range']

    range_desc_list = ['Ionic Light List Range', 'Ionic Stable List Range', 'Ionic Positive List Range',
                       'Ionic Calm List Range', 'Ionic Balanced List Range', 'Ionic Energized List Range',
                       'Ionic Assertive List Range', 'Ionic Royal List Range', 'Ionic Dark List Range']

    for idx, range_color in enumerate(css_ranges):
        range_str_default = '
\n' + \
            '\t\n' + \
            '\t<input type="range" name="volume" min="0" max="100" value="33">\n' + \
            '\t\n' + \
            '
\n'

        snippet_str = create_snippet_string('ionic-range-' + range_color[6:], range_str_default,
                                            'text.html', range_desc[idx])
        output_file = open(
            output_folder + 'ionic-range-' + range_color[6:] + ".sublime-snippet", "w+")
        output_file.write(snippet_str)
        output_file.close()

        range_str_in_list = '
\n' + \
            '\t\n' + \
            '\t<input type="range" name="volume" min="0" max="100" value="33">\n' + \
            '\t\n' + \
            '
\n'

        snippet_str = create_snippet_string('ionic-range-item-' + range_color[6:], range_str_in_list,
                                            'text.html', range_desc_list[idx])
        output_file = open(
            output_folder + 'ionic-range-item-' + range_color[6:] + ".sublime-snippet", "w+")
        output_file.write(snippet_str)
        output_file.close()

if select_control:
    output_folder = current_path + '/Select/'

    css_selects = ['item-light', 'item-stable', 'item-positive',
                   'item-calm', 'item-balanced', 'item-energized',
                   'item-assertive', 'item-royal', 'item-dark']

    select_desc = ['Ionic Light Select', 'Ionic Stable Select', 'Ionic Positive Select',
                   'Ionic Calm Select', 'Ionic Balanced Select', 'Ionic Energized Select',
                   'Ionic Assertive Select', 'Ionic Royal Select', 'Ionic Dark Select']

    for idx, select_color in enumerate(css_selects):
        select_str = '\n' + \
            '\t
\n' + \
            '\t\t${1:desc}\n' + \
            '\t
\n' + \
            '\t<select>\n' + \
            '\t\t<option selected>${2:opt1}</option>\n' + \
            '\t\t<option>${3:opt2}</option>\n' + \
            '\t<select>\n' + \
            '\n'

        snippet_str = create_snippet_string('ionic-select-' + select_color[5:], select_str,
                                            'text.html', select_desc[idx])
        output_file = open(
            output_folder + 'ionic-select-' + select_color[5:] + ".sublime-snippet", "w+")
        output_file.write(snippet_str)
        output_file.close()

if tabs:
    output_folder = current_path + '/Tabs/'

    css_tabs = ['tabs-light', 'tabs-stable', 'tabs-positive',
                'tabs-calm', 'tabs-balanced', 'tabs-energized',
                'tabs-assertive', 'tabs-royal', 'tabs-dark']

    tabs_desc = ['Ionic Light Tabs', 'Ionic Stable Tabs', 'Ionic Positive Tabs',
                 'Ionic Calm Tabs', 'Ionic Balanced Tabs', 'Ionic Energized Tabs',
                 'Ionic Assertive Tabs', 'Ionic Royal Tabs', 'Ionic Dark Tabs']

    for idx, tabs_color in enumerate(css_tabs):
        tabs_str_default = '
$0
\n'

        snippet_str = create_snippet_string('ionic-tabs-' + tabs_color[5:], tabs_str_default,
                                            'text.html', tabs_desc[idx])
        output_file = open(
            output_folder + 'ionic-tabs-' + tabs_color[5:] + ".sublime-snippet", "w+")
        output_file.write(snippet_str)
        output_file.close()

        tabs_str_icon_only = '
$0
\n'

        snippet_str = create_snippet_string('ionic-tabs-icon-only-' + tabs_color[5:], tabs_str_icon_only,
                                            'text.html', tabs_desc[idx])
        output_file = open(
            output_folder + 'ionic-tabs-icon-only-' + tabs_color[5:] + ".sublime-snippet", "w+")
        output_file.write(snippet_str)
        output_file.close()

        tabs_str_icon_top = '
$0
\n'

        snippet_str = create_snippet_string('ionic-tabs-icon-top-' + tabs_color[5:], tabs_str_icon_top,
                                            'text.html', tabs_desc[idx])
        output_file = open(
            output_folder + 'ionic-tabs-icon-top-' + tabs_color[5:] + ".sublime-snippet", "w+")
        output_file.write(snippet_str)
        output_file.close()

        tabs_str_icon_left = '
$0
\n'

        snippet_str = create_snippet_string('ionic-tabs-icon-left-' + tabs_color[5:], tabs_str_icon_left,
                                            'text.html', tabs_desc[idx])
        output_file = open(
            output_folder + 'ionic-tabs-icon-left-' + tabs_color[5:] + ".sublime-snippet", "w+")
        output_file.write(snippet_str)
        output_file.close()

        tabs_str_striped = '
$0
\n'

        snippet_str = create_snippet_string('ionic-tabs-striped-' + tabs_color[5:], tabs_str_striped,
                                            'text.html',tabs_desc[idx])
        output_file = open(
            output_folder + 'ionic-tabs-striped-' + tabs_color[5:] + ".sublime-snippet", "w+")
        output_file.write(snippet_str)
        output_file.close()

        methods = ['select(${1:index})', 'selectedIndex()']
        for method in methods:
            ionicTabsDelegate = '\$ionicTabsDelegate.' + method
            path_name_file = output_folder + \
                'ionicTabsDelegate.' + \
                method.split('(')[0] + ".sublime-snippet"
            tabTrigger = '$ionicTabsDelegate.' + method.split('(')[0]
            content = ionicTabsDelegate
            scope = 'source.js'
            description = ' Ionic Tabs Delegate'
            create_snippet_file(
                path_name_file, tabTrigger, content, scope, description)

        # item tab
        tabs_item_str_default = '\n' + \
            '\t${1:Tab}\n' + \
            '\n'

        snippet_str = create_snippet_string('ionic-tabs-item', tabs_item_str_default,
                                            'text.html', 'Ionic Tabs Item')
        output_file = open(
            output_folder + 'ionic-tabs-item' + ".sublime-snippet", "w+")
        output_file.write(snippet_str)
        output_file.close()

        # item icon tab
        tabs_item_str_icon = '\n' + \
            '\t\n' + \
            '\t$0\n' + \
            '\n'

        snippet_str = create_snippet_string('ionic-tabs-item-icon', tabs_item_str_icon,
                                            'text.html', 'Ionic Tabs Icon Item')
        output_file = open(
            output_folder + 'ionic-tabs-item-icon' + ".sublime-snippet", "w+")
        output_file.write(snippet_str)
        output_file.close()

        ionicTabsDelegate = '\$ionicTabsDelegate.\$getByHandle(${1:handle})'
        path_name_file = output_folder + \
            'ionicTabsDelegate.getByHandle.sublime-snippet'
        tabTrigger = '$ionicTabsDelegate.$getByHandle'
        content = ionicTabsDelegate
        scope = 'source.js'
        description = ' Ionic Tabs Delegate'
        create_snippet_file(
            path_name_file, tabTrigger, content, scope, description)

if actionSheet:
    output_folder = current_path + '/Action Sheet/'
    actionSheet_str = '\$ionicActionSheet.show({\n' + \
        '\t\tbuttons: [\n' + \
        '\t\t\t{ text: "${1:Button text 1}" },\n' + \
        '\t\t\t{ text: "${2:Move}" }\n' + \
        '\t\t],\n' + \
        '\t\tdestructiveText: "${3:Delete}",\n' + \
        '\t\ttitleText: "${4:Title}",\n' + \
        '\t\tcancelText: "${5:Cancel}",\n' + \
        '\t\tcancel: function() {\n' + \
        '\t\t\t${6: //your code goes here}\n' + \
        '\t\t},\n' + \
        '\t\tbuttonClicked: function(index) {\n' + \
        '\t\t\t${7: return true;}\n' + \
        '\t\t}\n' + \
        '});'

    snippet_str = create_snippet_string(
        '$ionicActionSheet.show', actionSheet_str, 'source.js', 'Ionic Action Sheet')
    output_file = open(
        output_folder + 'ionicActionSheet.show' + ".sublime-snippet", "w+")
    output_file.write(snippet_str)
    output_file.close()

if backdrop:
    output_folder = current_path + '/Backdrop/'
    backdrop_retain = '\$ionicBackdrop.retain();'
    backdrop_release = '\$ionicBackdrop.release();'

    snippet_str = create_snippet_string(
        '$ionicBackdrop.retain', backdrop_retain, 'source.js', 'Ionic Backdrop')
    output_file = open(
        output_folder + 'ionicBackdrop.retain' + ".sublime-snippet", "w+")
    output_file.write(snippet_str)
    output_file.close()

    snippet_str = create_snippet_string(
        '$ionicBackdrop.release', backdrop_release, 'source.js', 'Ionic Backdrop')
    output_file = open(
        output_folder + 'ionicBackdrop.release' + ".sublime-snippet", "w+")
    output_file.write(snippet_str)
    output_file.close()

if scrollDelegate:
    output_folder = current_path + '/Content/'
    service = '\$ionicScrollDelegate.'
    resize = service + 'resize()'
    scrollTop = service + 'scrollTop(${1:shouldAnimate})'
    scrollBottom = service + 'scrollBottom(${1:shouldAnimate})'
    scrollTo = service + 'scrollTo(${1:left}, ${2:top}, ${3:shouldAnimate})'
    scrollBy = service + 'scrollBy(${1:left}, ${2:top}, ${3:shouldAnimate})'
    zoomTo = service + \
        'zoomTo(${1:level}, ${2:animate}, ${3:originLeft}, ${4:originTop})'
    zoomBy = service + \
        'zoomBy(${1:factor}, ${2:animate}, ${3:originLeft}, ${4:originTop})'
    getScrollPosition = service + 'getScrollPosition()'
    anchorScroll = service + 'anchorScroll(${1:shouldAnimate})'
    getScrollView = service + 'getScrollView()'
    getByHandle = service + '\$getByHandle(${1:handle})'

    path_name_file = output_folder + \
        'ionicScrollDelegate.resize' + ".sublime-snippet"
    tabTrigger = '$ionicScrollDelegate.resize'
    content = resize
    scope = 'source.js'
    description = ' Ionic ScrollDelegate'
    create_snippet_file(
        path_name_file, tabTrigger, content, scope, description)

    path_name_file = output_folder + \
        'ionicScrollDelegate.scrollTop' + ".sublime-snippet"
    tabTrigger = '$ionicScrollDelegate.scrollTop'
    content = scrollTop
    scope = 'source.js'
    description = ' Ionic ScrollDelegate'
    create_snippet_file(
        path_name_file, tabTrigger, content, scope, description)

    path_name_file = output_folder + \
        'ionicScrollDelegate.scrollBottom' + ".sublime-snippet"
    tabTrigger = '$ionicScrollDelegate.scrollBottom'
    content = scrollBottom
    scope = 'source.js'
    description = ' Ionic ScrollDelegate'
    create_snippet_file(
        path_name_file, tabTrigger, content, scope, description)

    path_name_file = output_folder + \
        'ionicScrollDelegate.scrollTo' + ".sublime-snippet"
    tabTrigger = '$ionicScrollDelegate.scrollTo'
    content = scrollTo
    scope = 'source.js'
    description = ' Ionic ScrollDelegate'
    create_snippet_file(
        path_name_file, tabTrigger, content, scope, description)

    path_name_file = output_folder + \
        'ionicScrollDelegate.scrollBy' + ".sublime-snippet"
    tabTrigger = '$ionicScrollDelegate.scrollBy'
    content = scrollBy
    scope = 'source.js'
    description = ' Ionic ScrollDelegate'
    create_snippet_file(
        path_name_file, tabTrigger, content, scope, description)

    path_name_file = output_folder + \
        'ionicScrollDelegate.zoomTo' + ".sublime-snippet"
    tabTrigger = '$ionicScrollDelegate.zoomTo'
    content = zoomTo
    scope = 'source.js'
    description = ' Ionic ScrollDelegate'
    create_snippet_file(
        path_name_file, tabTrigger, content, scope, description)

    path_name_file = output_folder + \
        'ionicScrollDelegate.zoomBy' + ".sublime-snippet"
    tabTrigger = '$ionicScrollDelegate.zoomBy'
    content = zoomBy
    scope = 'source.js'
    description = ' Ionic ScrollDelegate'
    create_snippet_file(
        path_name_file, tabTrigger, content, scope, description)

    path_name_file = output_folder + \
        'ionicScrollDelegate.getScrollPosition' + ".sublime-snippet"
    tabTrigger = '$ionicScrollDelegate.getScrollPosition'
    content = getScrollPosition
    scope = 'source.js'
    description = ' Ionic ScrollDelegate'
    create_snippet_file(
        path_name_file, tabTrigger, content, scope, description)

    path_name_file = output_folder + \
        'ionicScrollDelegate.anchorScroll' + ".sublime-snippet"
    tabTrigger = '$ionicScrollDelegate.anchorScroll'
    content = anchorScroll
    scope = 'source.js'
    description = ' Ionic ScrollDelegate'
    create_snippet_file(
        path_name_file, tabTrigger, content, scope, description)

    path_name_file = output_folder + \
        'ionicScrollDelegate.getScrollView' + ".sublime-snippet"
    tabTrigger = '$ionicScrollDelegate.getScrollView'
    content = getScrollView
    scope = 'source.js'
    description = ' Ionic ScrollDelegate'
    create_snippet_file(
        path_name_file, tabTrigger, content, scope, description)

    path_name_file = output_folder + \
        'ionicScrollDelegate.getByHandle' + ".sublime-snippet"
    tabTrigger = '$ionicScrollDelegate.getByHandle'
    content = getByHandle
    scope = 'source.js'
    description = ' Ionic ScrollDelegate'
    create_snippet_file(
        path_name_file, tabTrigger, content, scope, description)

if loading:
    output_folder = current_path + '/Loading/'

    ionicLoading_show = '\$ionicLoading.show({\n' + \
        '\ttemplate: "${1:Loading...}"\n' + \
        '});'
    path_name_file = output_folder + 'ionicLoading.show' + ".sublime-snippet"
    tabTrigger = '$ionicLoading.show'
    content = ionicLoading_show
    scope = 'source.js'
    description = ' Ionic Loading Service'
    create_snippet_file(
        path_name_file, tabTrigger, content, scope, description)

    ionicLoading_hide = '\$ionicLoading.hide()'
    path_name_file = output_folder + 'ionicLoading.hide' + ".sublime-snippet"
    tabTrigger = '$ionicLoading.hide'
    content = ionicLoading_hide
    scope = 'source.js'
    description = ' Ionic Loading Service'
    create_snippet_file(
        path_name_file, tabTrigger, content, scope, description)

if modal:
    output_folder = current_path + '/Modal/'

    ionicModal_fromTemplateUrl = '\$ionicModal.fromTemplateUrl(${1:templateUrl}, ${2:options})'
    path_name_file = output_folder + \
        'ionicModal.fromTemplateUrl' + ".sublime-snippet"
    tabTrigger = '$ionicModal.fromTemplateUrl'
    content = ionicModal_fromTemplateUrl
    scope = 'source.js'
    description = ' Ionic Modal Service'
    create_snippet_file(
        path_name_file, tabTrigger, content, scope, description)

    ionicModal_fromTemplate = '\$ionicModal.fromTemplate(${1:templateString}, ${2:options})'
    path_name_file = output_folder + \
        'ionicModal.fromTemplate' + ".sublime-snippet"
    tabTrigger = '$ionicModal.fromTemplate'
    content = ionicModal_fromTemplate
    scope = 'source.js'
    description = ' Ionic Modal Service'
    create_snippet_file(
        path_name_file, tabTrigger, content, scope, description)

if navigation:
    output_folder = current_path + '/Navigation/'

    # $ionicView
    events = ['loaded', 'enter', 'leave', 'beforeEnter',
              'beforeLeave', 'afterEnter', 'afterLeave', 'unloaded']

    for event in events:
        ionicView_event = '\$scope.\$on("\$ionicView.' + \
            event + '", function () {\n$0\n});'
        path_name_file = output_folder + \
            'ionicView.' + event + ".sublime-snippet"
        tabTrigger = '$ionicView.' + event
        content = ionicView_event
        scope = 'source.js'
        description = ' Ionic View Event'
        create_snippet_file(
            path_name_file, tabTrigger, content, scope, description)

    # ionicNavBarDelegate
    methods = ['align', 'showBackButton', 'showBar', 'title', 'back']
    params = ['direction', 'show', 'show', 'title', '']

    for idx, method in enumerate(methods):
        ionicNavBarDelegate = '\$ionicNavBarDelegate.%s(${1:%s})' % (
            method, params[idx])
        path_name_file = output_folder + \
            'ionicNavBarDelegate.' + method + ".sublime-snippet"
        tabTrigger = '$ionicNavBarDelegate.' + method
        content = ionicNavBarDelegate
        scope = 'source.js'
        description = ' Ionic Nav Methods'
        create_snippet_file(
            path_name_file, tabTrigger, content, scope, description)

    # ionicHistory
    methods = ['viewHistory', 'currentView', 'currentHistoryId',
               'currentTitle', 'backView', 'backTitle',
               'forwardView', 'currentStateName', 'goBack',
               'clearHistory', 'clearCache', 'nextViewOptions']
    params = ['', '', '', '${1:val}', '', '', '', '', '', '', '',
              '\n\tdisableAnimate: ${1:true},\n \tdisableBack: ${2:true}\n']

    for idx, method in enumerate(methods):
        ionicHistory = '\$ionicHistory.%s(%s)' % (method, params[idx])
        path_name_file = output_folder + \
            'ionicHistory.' + method + ".sublime-snippet"
        tabTrigger = '$ionicHistory.' + method
        content = ionicHistory
        scope = 'source.js'
        description = ' Ionic Hist View'
        create_snippet_file(
            path_name_file, tabTrigger, content, scope, description)

if platform:
    output_folder = current_path + '/Platform/'
    methods = ['onHardwareBackButton(${1:callback})', 'offHardwareBackButton(${1:callback})',
               'registerBackButtonAction(${1:callback}, ${2:priority})', 'on(${1:type}, ${2:callback})',
               'ready()']
    for method in methods:
        platformDelegate = '\$ionicPlatform.' + method
        path_name_file = output_folder + \
            'ionicPlatform.' + method.split('(')[0] + ".sublime-snippet"
        tabTrigger = '$ionicPlatform.' + method.split('(')[0]
        content = platformDelegate
        scope = 'source.js'
        description = ' Ionic Platform Methods'
        create_snippet_file(
            path_name_file, tabTrigger, content, scope, description)

if popover:
    output_folder = current_path + '/Popover/'
    methodsDelegate = ['fromTemplate(${1:templateString}, {\n \t${2:options}\n});',
                       'fromTemplateUrl(${1:templateUrl}, {\n \t${2:options}\n})']

    for method in methodsDelegate:
        popoverDelegate = '\$ionicPopover.' + method
        path_name_file = output_folder + \
            'ionicPopover.' + method.split('(')[0] + ".sublime-snippet"
        tabTrigger = '$ionicPopover.' + method.split('(')[0]
        content = popoverDelegate
        scope = 'source.js'
        description = ' Ionic Popover'
        create_snippet_file(
            path_name_file, tabTrigger, content, scope, description)

if popup:
    output_folder = current_path + '/Popup/'
    show = 'show({\n' + \
        '\ttemplate: $1,\n' + \
        '\ttitle: $2,\n' + \
        '\tsubTitle: $3,\n' + \
        '\tscope: \$scope,\n' + \
        '\tbuttons: [$4]\n' + \
        '});'

    confirm = 'confirm({\n' + \
        '\ttitle: $1,\n' + \
        '\ttemplate: $2\n' + \
        '});'

    alert = 'alert({\n' + \
        '\ttitle: $1,\n' + \
        '\ttemplate: $2\n' + \
        '});'

    prompt = 'prompt({\n' + \
        '\ttitle: $1,\n' + \
        '\ttemplate: $2,\n' + \
        '\tinputType: $3,\n' + \
        '\tinputPlaceholder: $4\n' + \
        '})'

    methods = [show, confirm, alert, prompt]
    for method in methods:
        popupDelegate = '\$ionicPopup.' + method
        path_name_file = output_folder + \
            'ionicPopup.' + method.split('(')[0] + ".sublime-snippet"
        tabTrigger = '$ionicPopup.' + method.split('(')[0]
        content = popupDelegate
        scope = 'source.js'
        description = ' Ionic Popup'
        create_snippet_file(
            path_name_file, tabTrigger, content, scope, description)

if side_menu:
    output_folder = current_path + '/Side Menu/'
    methods = ['toggleLeft()', 'toggleRight()', 'getOpenRatio()',
               'isOpen()', 'isOpenLeft()', 'isOpenRight()',
               'canDragContent()', 'edgeDragThreshold(${1:value})']
    for method in methods:
        ionicSideMenuDelegate = '\$ionicSideMenuDelegate.' + method
        path_name_file = output_folder + \
            'ionicSideMenuDelegate.' + \
            method.split('(')[0] + ".sublime-snippet"
        tabTrigger = '$ionicSideMenuDelegate.' + method.split('(')[0]
        content = ionicSideMenuDelegate
        scope = 'source.js'
        description = ' Ionic Side Menu'
        create_snippet_file(
            path_name_file, tabTrigger, content, scope, description)

    ionicSideMenuDelegate = '\$ionicSideMenuDelegate.\$getByHandle(${1:handle})'
    path_name_file = output_folder + \
        'ionicSideMenuDelegate.getByHandle.sublime-snippet'
    tabTrigger = '$ionicSideMenuDelegate.$getByHandle'
    content = ionicSideMenuDelegate
    scope = 'source.js'
    description = ' Ionic Side Menu'
    create_snippet_file(
        path_name_file, tabTrigger, content, scope, description)

if utility:
    output_folder = current_path + '/Utility/'

    # ionicConfigProvider
    methods = ['views.transition(${1:transition})', 'views.maxCache(${1:maxNumber})',
               'views.forwardCache(${1:value})', 'backButton.icon(${1:value})',
               'backButton.text(${1:value})', 'backButton.previousTitleText(${1:value})',
               'tabs.style(${1:value})', 'tabs.position(${1:value})',
               'templates.maxPrefetch(${1:value})', 'navBar.alignTitle(${1:value})',
               'navBar.positionPrimaryButtons(${1:value})', 'navBar.positionSecondaryButtons(${1:value})']
    for method in methods:
        ionicConfigProvider = '\$ionicConfigProvider.' + method
        path_name_file = output_folder + \
            'ionicConfigProvider.' + \
            method.split('(')[0] + ".sublime-snippet"
        tabTrigger = '$ionicConfigProvider.' + method.split('(')[0]
        content = ionicConfigProvider
        scope = 'source.js'
        description = ' Ionic ConfigProvider'
        create_snippet_file(
            path_name_file, tabTrigger, content, scope, description)

    # ionic.Platform
    methods = ['ready(${1:callback})', 'setGrade(${1:grade})',
               'device()', 'isWebView()', 'isIPad()', 'isIOS()', 'isAndroid()', 'isWindowsPhone()',
               'platform()', 'version()', 'exitApp()', 'showStatusBar(${1:shouldShow})', 'fullScreen()',
               'isReady', 'isFullScreen', 'platforms', 'grade']
    for method in methods:
        ionic_Platform = 'ionic.Platform.' + method
        path_name_file = output_folder + \
            'ionicPlatform.' + \
            method.split('(')[0] + ".sublime-snippet"
        tabTrigger = 'ionicPlatform.' + method.split('(')[0]
        content = ionic_Platform
        scope = 'source.js'
        description = ' Ionic Platform'
        create_snippet_file(
            path_name_file, tabTrigger, content, scope, description)

    # ionic.DomUtil
    methods = ['requestAnimationFrame(${1:callback})', 'animationFrameThrottle(${1:callback})',
               'getPositionInParent(${1:element})', 'ready(${1:callback})',
               'getTextBounds(${1:textNode})', 'getChildIndex(${1:element}, ${2:type})',
               'getParentWithClass(${1:element}, ${2:className})', 'getParentOrSelfWithClass(${1:element}, ${2:className})',
               'rectContains(${1:x}, ${2:y}, ${3:x1}, ${4:y1}, ${5:x2}, ${6:y2})', 'blurAll()']
    for method in methods:
        ionic_DomUtil = 'ionic.DomUtil.' + method
        path_name_file = output_folder + \
            'ionicDomUtil.' + \
            method.split('(')[0] + ".sublime-snippet"
        tabTrigger = 'ionicDomUtil.' + method.split('(')[0]
        content = ionic_DomUtil
        scope = 'source.js'
        description = ' Ionic DomUtil'
        create_snippet_file(
            path_name_file, tabTrigger, content, scope, description)

    # ionic.EventController
    methods = ['trigger(${1:eventType}, ${2:data})',
               'on(${1:type}, ${2:callback}, ${3:element})',
               'off(${1:type}, ${2:callback}, ${3:element})',
               'onGesture(${1:eventType}, ${2:callback}, ${3:element})',
               'offGesture(${1:eventType}, ${2:callback}, ${3:element})']
    for method in methods:
        ionic_EventController = 'ionic.EventController.' + method
        path_name_file = output_folder + \
            'ionicEventController.' + \
            method.split('(')[0] + ".sublime-snippet"
        tabTrigger = 'ionicEventController.' + method.split('(')[0]
        content = ionic_EventController
        scope = 'source.js'
        description = ' Ionic EventController'
        create_snippet_file(
            path_name_file, tabTrigger, content, scope, description)

    # $ionicPosition
    methods = ['position(${1:element})', 'offset(${1:element})']
    for method in methods:
        ionicPosition = '\$ionicPosition.' + method
        path_name_file = output_folder + \
            'ionicPosition.' + \
            method.split('(')[0] + ".sublime-snippet"
        tabTrigger = '$ionicPosition.' + method.split('(')[0]
        content = ionicPosition
        scope = 'source.js'
        description = ' Ionic ConfigProvider'
        create_snippet_file(
            path_name_file, tabTrigger, content, scope, description)

redpajama_set_name: RedPajamaGithub


text:
Q: SFTP hangs when listing a large directory from a Windows Server 2012R2 VM I have two machines on the same ethernet network segment:

*

*VM running Windows Server 2012R2 [sftp client]

*Physical server running Ubuntu 16.04.7 LTS [sftp server running openssh-server 1:7.2p2-4ubuntu2.10]

When I establish an SFTP connection from the windows VM to the ubuntu server, when I try to list the files in a directory that has a large number of them, the connection hangs. Folders with small numbers of files work fine.
If I try the same thing using a different Ubuntu 16.04.7 machine as the client, it works fine.
Also tried a max size ping using ping -l 1472 -f and that worked correctly.
Things I have tried that didn't change the outcome:

*

*multiple SFTP clients on windows: PuTTY 0.74, WinSCP 5.17.9, and FileZilla 3.52.0.5

*lowering the MTU on the windows VM [default 1500]

*lowering the MTU on the ubuntu server [default 1500]

*updating the vmxnet3 ethernet driver from 1.8.16.0 to 1.8.17.0

*using a different Windows Server 2012R2 VM as the client

*using a Windows Server 2016 VM as the client

*using a Windows Server 2016 physical machine as the client

I'm now stumped. Any ideas or suggestions for further troubleshooting?

A: Well, I was in the middle of writing up a bug report for the PuTTY folks and was reviewing the /etc/ssh/sshd_config on the Ubuntu 16.04 server. It had the line:

Subsystem       sftp    internal-sftp

I changed it to:

Subsystem       sftp    /usr/lib/openssh/sftp-server

restarted sshd and now everything works properly!

redpajama_set_name: RedPajamaStackExchange


text:
APSPublicationsPlant Disease2013May
First Report of the Occurrence and Resistance to Mefenoxam of Peronospora belbahrii, Causal Agent of Downy Mildew of Basil (Ocimum basilicum) in Israel
May 2013 , Volume 97 , Number 5
Pages 692.1 - 692.1
Y. Cohen, M. Vaknin, Y. Ben-Naim, A. E. Rubin and M. Galperin, Faculty of Life Sciences, Bar-Ilan University, Ramat Gan, Israel; D. Silverman and S. Bitton, the Ministry of Agriculture, Israel; and U. Adler, Plant Board Council, Israel
Accepted for publication 29 December 2012.
Downy mildew in basil was first reported from Uganda in 1933 (4). In 2004, it was reported from Italy (3) and, thereafter, from other countries around the world. In Israel, the disease was first observed in November 2011 in two greenhouses located in the northern part of the Jordan Valley. Within a month, second and third outbreaks of the disease occurred simultaneously near the southwest and southeast borders of Israel, 250 km from the initial disease outbreak. By the summer of 2012, the disease had appeared throughout the country, causing major economic damage. The causal agent, identified as Peronospora belbahrii (see below), produced chlorotic lesions on leaf blades with sporangia developing on the lower leaf surfaces. Lesions gradually turn necrotic, and infected leaves abscised. Sporangia were dark purple, oval, 30.4 ± 2.9 μm long × 21.4 ± 1.7 μm wide. Sporangiophores emerged from stomatal openings in a saturated atmosphere, were hyaline, 400 to 600 μm long, dichotomously branched, with three to five branches per sporangiophore, and bore a single sporangium on each branchlet tip. Oospores, seldom seen, were brown, round, and 46.2 ± 2.8 μm in diameter. Sporangia germinated directly, each producing a single germ tube that penetrated the periclinal wall of epidermal cells. PCR assays using sporangia and infected leaves as the template, and specific BAZ primers (1), produced a 134-bp band typical of P. belbahrii (1,2). Twenty isolates, collected from 12 locations in Israel from December 2011 to September 2012, were all sensitive to mefenoxam as the isolates did not cause symptoms on 15-leaf, potted basil plants (cv. Peri, Volcani Center, Israel) that were sprayed with 10 μg mefenoxam/ml (Ridomil Gold 48%, Syngenta, Basel, Switzerland) prior to inoculation. However, one isolate collected in early October 2012 from a severely infected plant in a greenhouse at Rehov in Bet-Shaan Valley, in which the plants had been treated with mefenoxam, was resistant to mefenoxan, showing abundant sporulation on leaves of potted basil plants that had been sprayed with 1,000 μg of mefenoxam/ml prior to inoculation. To our knowledge, this is the first report of the occurrence of downy mildew in basil in Israel. This is also the first global report of resistance to mefenoxam in P. belbahrii.
References: (1) L. Belbahri et al. Mycol. Res. 109:1276, 2005. (2) R. Djalali et al. Mycol. Progress 11:961, 2012. (3) A. Garibaldi et al., Plant Dis. 89:683, 2004. (4) C. G. Hansford. Rev. Appl. Mycol. 12:421, 1933.


Lindsay Burgess has made the 2018 CBC Nonfiction Prize longlist for Trigger.
Lindsay Burgess' work has appeared in the Globe and Mail, Food and Wine and Refinery 29. She holds degrees in history from the University of Toronto and the London School of Economics. After completing her graduate studies, Burgess spent five years in the U.K. before returning to Canada, where she became the inaugural digital editor of Foodism Toronto magazine. She lives in Montreal with her partner.
"I was doing homework for therapy and kept getting stuck on this one event. The point of the exercise was to brainstorm healthier responses to things that happened that week — I couldn't think of any. So I started writing about that day, and that became the first draft of this story."
"Our air conditioning was broken.
"At first it tried to pretend like everything was fine: the vents hissed out spurts of not-cold wind, filling our tiny apartment with stale air and false hope. 23 degrees, the thermostat insisted, just like you like it. But it was so hot even my lungs felt like they were sweating, and when Chris pried off the plastic cover to reset the display panel, the temperature jumped seven, eight, nine degrees."
The winner of the 2018 CBC Nonfiction Prize will receive $6,000 from the Canada Council for the Arts, have their story published on CBC Books and attend a writing residency at the Banff Centre for Arts and Creativity. Four finalists will each receive $1,000 from the Canada Council for the Arts and have their story published on CBC Books.


text:
C-DOT organizes webinar on "Centre of Innovation (COI) for IoT/M2M" to mark the observance of World Telecommunication & Information Society Day (WTISD) 2022
Centre of Innovation (COI) is slated to play an increasingly important role in facilitating startup/solution providers to become global solution providers
Centre for Development of Telematics (C-DOT), the premier Telecom R&D centre of the Department of Telecommunications, Ministry of Communications, Government of India, organized a webinar on "Centre of Innovation (COI) for IoT/M2M" on 17 May 2022 to mark the observance of "World Telecommunication & Information Society Day (WTISD)".
The WTISD-2022 is centered on the theme, "Digital technologies for Older Persons and Healthy Ageing". Telecommunication and Information & Communication Technologies (ICTs) are playing a key role in supporting people to stay healthy, connected and independent - physically, emotionally and financially and ensuring the overall sustainability of economic and health systems.
Machine to Machine Communications (M2M)/Internet of Things (IoT) are exclusively targeted at making our lives easier, comfortable and secure with novel technological innovations. The WTISD-2022 webinar is focused on the role of "Centre of Innovation for IoT/M2M" in evolving an indigenous M2M/IoT ecosystem with contribution from relevant stakeholders and aims to invite industry, startups, academia and broader Telecom fraternity to come forward, collaborate and contribute towards the digital transformation with technological innovations.
The webinar further underscores the critical role of IoT/M2M in creating a digital technology landscape for smart cities, smart living and a healthy & sustainable environment for all including the older and specially-abled persons.
The webinar was graced by the esteemed presence of Shri A.K. Tiwari, Member (Technology), Digital Communications Commission, Government of India and Shri Nizamul Haq, Member (Services), Digital Communications Commission, Government of India.
Shri A.K. Tiwari in his keynote address emphasized upon the importance of synergy across relevant stakeholders including R&D, Government, academia, industry, and startups in strengthening the technology innovation and deployment ecosystem. He remarked that "Centre of innovation" will prove to be an effective platform for indigenous development of standards based IoT/M2M solutions for diverse applications.
Shri Nizamul Haq delivered the special address and highlighted the critical need of collaborative framework as envisaged under the initiative of "Centre of Innovation" to address the underlying issues and challenges in an expeditious and efficacious manner.
Eminent domain experts offered deep insights into the recent advancements and existing challenges in the emerging field of IoT/M2M during the panel discussion on the role of Centre of Innovation in accelerating the growth of indigenous IoT/M2M ecosystem. The panelists deliberated upon various contemporary themes related to IoT/M2M landscape.
The panel discussion comprised of a galaxy of field veterans including Sh. Sushil Kumar, DDG (IoT), TEC, Dr. Inder Gopal, Professor, IISc, Bangalore, Ms. Pamela Kumar, DG, TSDSI, Sh. Umakant Soni, Co-founder & CEO, ARTPARK, Sh. Prasad Parusaraman, CEO, Pyrox, iCity, Sh Bhushan Sethi, IoT products and solutions, Vodafone Idea, Dr. Manjunath Iyer, Principal Consultant, Wipro and Dr. Subrat Kar, Professor, IIT Delhi.
Dr. Rajkumar Upadhyay, Executive Director, C-DOT extended his greetings to the Telecom fraternity on WTISD 2022. He reiterated that C-DOT is committed to supporting the growth of indigenous innovation ecosystem in collaboration with all stakeholders including R&D, academia, industry and startups. He accentuated the pivotal role of Centre of Innovation in enabling a synergistic framework for the indigenous development of standardized, secure and cost-effective solutions.
Ms. Shikha Srivastava, Director, C-DOT gave a detailed talk on C-DOTs lead role in M2M standards, C-DOT standard based M2M platform and introduced the upcoming Centre of Innovation (COI) for IoT/M2M to the industry . The key focus of COI is on industry engagement for standards based M2M solution deployments in the country.
Shri Daniel Jebaraj, Director, C-DOT, gave the concluding remarks and thanked the guests and speakers for their informative talks.


rencontres internationales de chartres 2012 benjamin biolay ma rencontre lyrics site de rencontre femme russe 100 gratuit i am dating a taller girl site rencontre ile maurice gratuit speed dating 50+ vancouver bc site de rencontre salaberry de valleyfield conocer mujeres las palmas http://www.riskmanagementconsulting.ca/paradays/4020 rencontres aventures bulle 2011 The Nigerian Army has expressed concern over growing allegations of misconduct against some persons on security duties at the internally displaced persons (IDP) camp in Bama, Borno State.
A statement by the Director Army Public Relations, Brigadier General Sani Kukasheka Usman, said army personnel have been doing their best in bringing peace and security in various parts of the country especially in the North-east, adding that any act of misconduct could negatively impact on its good works.
He said although the allegations are unsubstantiated, the Chief of Army Staff, Lieutenant General Tukur Yusufu Buratai, has directed that the matter be thoroughly investigated by both the Director of Military Intelligence and Provost Marshal (Army).
"We would like to reiterate that the Nigerian Army has zero tolerance for any misconduct among its officers and soldiers especially those that are trusted with onerous responsibility of guarding and securing those IDP camps. Anyone found culpable, would be severely dealt with.


Stock Market Could Crash in 2016?
Despite the gains over the past few days, a stock market crash in 2016 still can't be ruled out. Don't buy the optimism; just look at the facts. They suggest a big sell-off could be ahead. Before going into any details, please look at the daily chart of the S&P 500 below and pay close attention to the lines and circled areas.
You see, everything was great until March of 2015. After that time, we saw trading ranges get smaller. By mid-year, we saw the S&P 500 reach its all-time high. Sadly, for a few months, we never made any progress to the upside. Buyers declined in numbers or they were just not powerful enough to take the stock market higher. At the very core, technical analysis suggests we saw a top built on the stock market in mid-2015. Moving forward, in August, we saw a rigorous sell-off and all the gains made were pretty much wiped off until mid-December. Then in early 2016, we saw another sell-off. The stock market crashed to the lows made in August of 2015. Since then, it's been on a move to the upside. Dear reader, the move between August until now shouldn't be taken lightly. Technical analysts will agree with me on this; we could be in the midst of forming a bearish chart pattern called a "head and shoulder" on the stock market. This pattern suggests that if the S&P 500 drops below the blue line drawn under the two circles in the chart above (around 1,800), we could see a very steep and rapid sell-off. On the upside, it shouldn't be forgotten that there's a massive resistance level around 2,150 on the S&P 500. Mind you, that's just one reason to be bearish on the stock market. Pay attention to the institutional investors or the so-called smart money, as well. They don't like stocks right now. Why do institutional investors matter? Well, for starters, combined, they have a significant amount of buying power; they can move the markets. With this said, look at the chart below of Wall Street Sentiment Bulls Index. It's essentially the results of a survey of Wall Street analysts and traders, tracked on a weekly basis. Chart courtesy of www.StockCharts.com In mid-December, 75% of those surveyed were bullish. Now, this figure is just 29%. In other words, the majority of the bulls on Wall Street have changed their opinion towards the stock market. That's not good, no matter how you look at it. Mind you, these aren't the only signs that suggest a stock market crash could be ahead. I have been warning my readers for several months now. At this point, caution might just be the best investment strategy.
You don't have to be the first one in or the first one out. As long as you are ahead of the majority, you will do just fine. Simply listen to the market and pay attention to key indicators.
Cut your losses quick. The longer you keep your losing positions, the bigger the misery. Know that if your position declines by 50%, it has to increase 100% for you to just break even.
Don't predict where the top or the bottom is going to be. It's an impossible game to win. By doing this, you will only hurt your portfolio—big time.
Despite the gains over the past few days, a stock market crash in 2016 still can't be ruled out.
Don't buy the optimism; just look at the facts. They suggest a big sell-off could be ahead.
Before going into any details, please look at the daily chart of the S&P 500 below and pay close attention to the lines and circled areas.
You see, everything was great until March of 2015. After that time, we saw trading ranges get smaller. By mid-year, we saw the S&P 500 reach its all-time high. Sadly, for a few months, we never made any progress to the upside. Buyers declined in numbers or they were just not powerful enough to take the stock market higher.
At the very core, technical analysis suggests we saw a top built on the stock market in mid-2015.
Moving forward, in August, we saw a rigorous sell-off and all the gains made were pretty much wiped off until mid-December. Then in early 2016, we saw another sell-off. The stock market crashed to the lows made in August of 2015. Since then, it's been on a move to the upside.
Dear reader, the move between August until now shouldn't be taken lightly. Technical analysts will agree with me on this; we could be in the midst of forming a bearish chart pattern called a "head and shoulder" on the stock market. This pattern suggests that if the S&P 500 drops below the blue line drawn under the two circles in the chart above (around 1,800), we could see a very steep and rapid sell-off.
On the upside, it shouldn't be forgotten that there's a massive resistance level around 2,150 on the S&P 500.
Mind you, that's just one reason to be bearish on the stock market. Pay attention to the institutional investors or the so-called smart money, as well. They don't like stocks right now. Why do institutional investors matter? Well, for starters, combined, they have a significant amount of buying power; they can move the markets.
With this said, look at the chart below of Wall Street Sentiment Bulls Index. It's essentially the results of a survey of Wall Street analysts and traders, tracked on a weekly basis.
In mid-December, 75% of those surveyed were bullish. Now, this figure is just 29%. In other words, the majority of the bulls on Wall Street have changed their opinion towards the stock market. That's not good, no matter how you look at it.
Mind you, these aren't the only signs that suggest a stock market crash could be ahead. I have been warning my readers for several months now. At this point, caution might just be the best investment strategy.