fabiochiu/medium-articles huggingface dataset:
Mystery of the lesser known Purana Qila
By: Audio Odigos
Tags: Audio Guide, Tourism, Audio, Guides And Tutorials

Delhi’s history is often spoken through various monuments and Purana Qila is among those. This 16th-century place is a good place to tell the story of urban development in Delhi. The site includes the mythology and medieval-era stories within it. The present citadel was built by the Mughal emperor Humayun. He decided to build a city that was called dinpanah that means the refuge of faith. It was soon captured by Sher Shah Suri of the Sur dynasty. In his reign, he also added some buildings to the fort. In today’s time, it has become one of the favourite places for activities and performances.

Key Attractions of Purana Qila

Qila-e-Kunha Mosque

Built by Sher Shah Suri in 1541, the mosque is a perfect example of pre-Mughal design. It is a wide mosque which has a single dome and five doorways to enter. The Mosque had to look for information about ornamentation and constructions since it is richly decorated with colourful stones and sculptures on both exterior and internal surfaces.

• Sher Mandal

On the right side of the Talaqi Darwaza is the Sher Mandal which is an octagonal red stone tower. As his library, Humayun used this. This building was built to enjoy the weather and to enjoy a good view. Later when Humayun took over it, he converted it into a library. One day he slipped down the stairs of this tower and died due to the injuries he suffered.

• Gateways

The fort is surrounded by three gates. The Bara Darwaza is the main entrance to the fort on the west and is bordered by two wide bastions. Second is the Humayun Darwaza also called the southern door facing Humayun’s tomb. Ironically, Talaqi Darwaza is the third gate facing north and is permanently closed. All the gates are double-storeyed structures of sandstone flanked by two wide semi-circular bastion walls, adorned with inlays of white and coloured marble and blue tiles.

• Walls

The fort is surrounded by two walls, one inside, and the other outside. The walls are 20 meters high, and 4 meters thick. There was a water body in between the walls to prevent attacks. In one year the walls and gates were built.

• ASI Museum

Inside the complex, there is a museum which displays the artifacts and antiquities found by the ASI during their excavations. These excavations have defined Delhi’s history. Here you can see the ornate gates of ancient Jain temples. Along with potteries of different eras found from different layers of riverbed Yamuna.

These are the facts about Purana Qila. To know more, simply download the Audio Odigos App. Just choose the city and language you want, and discover famous sights, with secrets and verified stories; select the chapter read and listen. They are currently the best audio guide application.
Tempo Traveller on Rent, Tempo Traveller Hire in Delhi
By: Tempo Traveller Delhi
Tags: Travel, Travel Writing, Travel Tips, Tourism, Traveling

tempo traveller on rent

Experience Tours provide online Tempo Traveller on Rent service based in Delhi NCR. We provide our vehicles for business, family trips, tour package, weekend getaways or any other travel purposes. This vehicle is very comfortable and good for you to make your journey more easy and safe. Our rental price is very affordable in comparison to other travel companies. Our vehicle is Deluxe having maharaja seating facilities and comfortable for a long destination journey even rough or hill station road. This vehicle has various seating plan and 9 to 26 people can travel easily together. You can book Tempo Traveller on Rent in Delhi as per your number of people. There are ample space and a nice seating facility having all pushback seats that are very comfortable for neck and back relief. You can book Tempo Traveller on Rent for Shimla Manali Tour Package, Mathura Vrindavan Tour Package, Agra Tour Package, Jaipur Tour Package, Rajasthan Tour Package, Delhi sightseeing Trip, Haridwar Rishikesh Tour Package, Dharamshala Holiday Trip, Vaishno Devi Tour Package, Nainital Tour Package, Jim Corbett Tour Package, etc.

If you have a dream to explore Delhi with your family, our Tempo Traveller on Hire will very a perfect option for your local Trip. We provide our vehicle on the same day basis with a highly talented, educated, trained and well-behaved driver. Our driver will help you during the local sightseeing because he knows all the sightseeing in Delhi very clearly. He will work as a guide with you and you can save your money which you spend to hire a local guide. We never force you for extra expense but if you like our driver’s service, he deserves a tip. You can see all the famous places in Delhi after book our Tempo Traveller Hire in Delhi such as Red Fort, Akshardham Temple, Lotus Temple, India Gate, Humayun’s Tomb, and Qutub Minar, etc. Today we come up in the top 3 travel agencies in Delhi NCR because of our best and reliable service. So, if you are visiting in Delhi, book our vehicle for any type of travel purpose.

Terms & Conditions for booking:

Tempo Traveller Charges with Ac and Non Ac for Delhi city –

Deluxe Tempo Traveller 9 seater @4000/-

Time and Distance will be calculated from Paharganj

Rs. 17/per kilometer and after 8 hours Rs. 80 /per hour both will be charged.

Toll charges and parking facilities will be charged as actual

Above price is only for Delhi inside

Tempo Traveller Charges for Outstations from Delhi –

Deluxe Tempo Traveller 250 km limit @17 Rs per km with fuel

Time and kilometers will be calculated from Paharganj to Paharganj

Driver Charges is 400 Rs/ per day

Toll tax, state Tax and parking’s will be charged extra as actual
Chandigarh Tour and Travels
By: Sanket Mani
Tags: Chandigarh Taxi Service, Tours And Travels, Chandigarh, Tourism

For travelers who are willing to go out of the way for their trip to be exciting and gain new perspectives and new experiences, adventure tours are best for them. Adventure tours are an exciting and different way of deeply understanding a new country or an entirely new culture along with learning about new surroundings by interacting with local population there.

Choosing the best tour and travel company

Few travelers think that hiring services of a Chandigarh tour and travel company will make them dependent on their itinerary during their trip. But what they don’t realize is, that hiring one of the best travel agents would let them follow a perfectly planned itinerary which is based on the expertise and experience of the tour and travel company. Since they have expertise on planning such trips they would know better, what kind of place would fulfil the desire of a particular traveller. But the traveler must make sure that the company they hiring the services from must be among the best travel agents and has a good experience?More
Hahei Holiday Homes- Finest and Affordable Hahei Accommodation
By: Hahei Holiday Homes
Tags: Travel, Vacation, Tourism, Holidays, Beach

Want to go on a vacay to Hahei, a little and beautiful village, with friends or family but, worried you might feel homesick? Why not stay at a place which feels like home? We know you are wondering is it possible.

Hahei Holiday Homes

It can be when you choose us for your accommodation in Hahei. We try our best to make you feel comfortable and at home. How? You may ask, we provide you everything you require to get in the vacay mood.

Experience best and affordable Hahei accommodation only at the Hahei Holiday Homes making your trip more enjoyable. We provide everything a great renting accommodation should have!

At Hahei Holiday Homes you would receive the following amenities:

Comfortable Bedding

Kitchen Facilities- Fridge/freezer, Dishwasher, Oven, Toaster, BBQ

Oil Heater

Television

How Can You Help Us?

You can also help us to make your stay enjoyable. You can carry the things which make your life comfortable such as your cozy blanker, your high-tech gadgets, your favorite coffee mug, etc.

We get it these all materialistic things but you love them and somehow these make your day fun and complete. This way you can ripe maximum benefit at our Hahei accommodation.

Hahei Holiday Homes- Top Hahei Accommodation

Hahe Accommodation

Hahei is a small village located on the Coromandel Peninsula, New Zealand. A lot of people who come to New Zealand prefer to stay in Hahei because of its beautiful location and attractive quality of life.

There are a lot of things you can do or visit in Hahei. But first, you should look for the best accommodation provider in Hahei. You don’t want to ruin your holidays by staying at a necessitous place. If you are planning to visit Hahei for your next trip then pick us, we offer the best accommodation in Hahei.

Hahei Holiday Homes- Why Choose Us?

Hahei

FURNISHED HOUSES- All of our houses are well-furnished with everything you need for a comfortable stay.

All of our houses are well-furnished with everything you need for a comfortable stay. COMFORTABLE STAY- We have every essential amenities which make your stay fun and stress-free.

We have every essential amenities which make your stay fun and stress-free. NATURE’S ABODE- Our Hahei accommodation is in the heart of nature. Our houses are surrounded by nature, making your stay even more memorable.

Our is in the heart of nature. Our houses are surrounded by nature, making your stay even more memorable. WE VALUE YOUR VISIT- We find immense happiness in serving you and your family with the best intentions. We want you to give you luxurious stay experience.

At Hahei Holiday Homes, we value our guests and their precious time. Feel free to either email, call or submit the form below and we will get back to you as soon as possible.

You can reach us at- +6421881280

Or, you can mail us for more information at- jodi.hahei@yahoo.com

Visit our official website to discover more about us:

Haheiholidayhomes.co.nz
Book Cheapest Tempo Traveller service in Delhi NCR
By: Delhi Tempo Traveller
Tags: Travel, Travel Writing, Tourism, Traveling, Tour

tempo traveller in delhi

If you want to avoid all Travel issue during your family trip, you should visit Delhi Tempo Traveler and book Tempo Traveller in Delhi for a hassle-free journey. We organized all types of Tour packages and Travel deals that make your trip more pleasant and comfortable visiting any hill station or royal destinations. Delhi Tempo Traveller means of transport that makes sure your Travel dream of visit any tourist destination of Incredible India. You can enjoy your holiday with your family by picking Luxury Tempo Traveller as we provide to our customers. According to your requirements, you can book easily our Tempo Traveller in Delhi to move anywhere in India including pilgrimage trips, adventure trips, wildlife destination or local sightseeing. We also offer our vehicle rental service for Airport pickup or drop when you come to Delhi and complete your holiday according to Tour itinerary. If you are coming to Delhi from abroad and want to book a suitable vehicle for your sightseeing and pickup drop from Airport, you can book Cheapest Tempo Traveller in Delhi at Delhi Tempo Traveler with a budget price. You can book online our vehicle by providing us your Travel date, Tour itinerary, your passport information according to your Travel plan. We will send our Tempo Traveller in Delhi at Airport before 30 minutes, you come. We work to comfort all tourists and provide pleasant Package to explore any tourist destination for a family group. We also manage your Tour itinerary with a systematic strategy. We understand the value of the safety and security of our customers and provide them comfortable service that allows you to avoid all hassles and problems.
Reminder in a Ukrainian cemetery
By: Tim Tendick
Tags: Travel, Humanity, Tourism, Ukraine, Cemetery

Gabryela Zapolska was a feuilletonist. It’s okay, no one else knows what that is either. I only mention it because Gabryela’s name is in the Latin alphabet on her grave at Lychakiv Cemetery in Lviv, Ukraine. I wanted to give the story of an average person at that cemetery but most of the names are in Cyrillic, and all the ones I’ve googled are remarkable people. Like Gabryela, who was a novelist, playwright, journalist, theater critic, and stage actress. And a feuilletonist. I want to tell you all about her.

But then I wouldn’t have space to talk about Maria Konopnicka, yet another female novelist, poet, journalist, and critic during the late 19th and early 20th centuries, and who was also a noted activist for both Polish independence and women’s rights. But these two noteworthy individuals just happened to be among the first discernible names in my photos from Lychakiv, and neither demonstrates what I want to relate.

Objectively speaking, it’s an impressive graveyard. Created in 1787 when the Austro-Hungarian Empire realized that dead bodies should probably be buried outside city limits, it began as the resting place for the area’s intelligentsia and elite, and my two crushes are minor attendants on the list of notables interred here. But Ukrainian history isn’t soft, and while some areas showed meticulous care and ongoing visitation, other zones were vine-shrouded piles of near rubble. Ornate statues and elaborate funerary architecture made monuments of some graves, but plenty of simple stone boxes or crumbled cement blocks provided punctuation to those life stories. The layout itself seemed contradictory, with broad boulevards of necropolis elegance that wrapped around clusters of chaotic dead ends. Oh, er, poor word choice? Culs de sac of corpses?
Enjoy Classic Half-Day Kayak Tour- Hahei Must Do !
By: Hahei Holiday Homes
Tags: Travel, Vacation, Haheiaccommodation, Tourism, Holidays

A great number of people travel to Hahei, a village in New Zealand, to experience kayaking. With this, the alluring locations and attractive quality of life get the second rank.

Hahei Accommodation Kayaking

Classic Half-Day Kayak Tour- Main Attractions!

Aquatic Life

Enjoy the view of New Zealand’s natural coastline, it starts from the stunning Hahei Beach to the Coromandel Peninsula. And, as you kayak past sea caves you can witness the vibrant aquatic life.

Ask Again

Before you embark on the tour a safety brief is given to you, do hear it carefully for your own safety. You can ask again if you don’t understand something. Kayak departs from Hahei beach.

Sea Caves

After you start kayaking, indulge and marvel at the fantastic view of nearby sea caves. Remember to move around the spectacular view of volcanic islands. Cherish every single second you don’t get to see such beauty in day to day mundane life.

Turquoise Water

Relax your eyes by observing the turquoise water beneath you and explore wildlife on pass-by islands.

Cathedral Cove

Kayak tour ends at the Cathedral Cove where you can drink world-famous cappuccinos and hot chocolates on the beach! Having delighted travelers for over 10 years, Cathedral Cove Kayak Tours is one of Hahei’s must-do!

Other things to know;

Maximum group size is 8 people, You do not need previous kayaking experience

Hahei Holiday Homes- Why Book Us?

Hahei Accommodation

FURNISHED HOUSES- All of our Hahei accommodation houses are well-furnished with everything you need for a comfortable stay.

houses are well-furnished with everything you need for a comfortable stay. COMFORTABLE STAY- We have every essential amenities which make your stay fun and stress-free.

NATURE’S ABODE- Our Hahei accommodation is in the heart of nature. Our houses are surrounded by nature, making your stay even more memorable.

is in the heart of nature. Our houses are surrounded by nature, making your stay even more memorable. WE VALUE YOUR VISIT- We find immense happiness in serving you and your family with the best intentions. We want you to give you luxurious stay experience.

BEST HAHEI ACCOMMODATION: We take pride in the fact that our costumers have referred us as one of the best Hahei accommodation. We can make your stay pleasant and memorable!

At Hahei Holiday Homes, we value our guests and their precious time. Feel free to either email, call or submit the form below and we will get back to you as soon as possible.

Visit our official website to discover more about us:

Haheiholidayhomes.co.nz

You can reach us at- +6421881280

Or,

you can mail us for more information at- jodi.hahei@yahoo.com
3 days in the Ancient Japanese Capital: Kyoto
By: Siddharth Bhattacharya
Tags: Travel, Culture, Asia, Tourism, Japan

Kyoto is often the city a lot of Japanese tourists are excited about, given it’s reputation as the ancient capital with beautiful shrines, zen Buddhism and imagery of Steve Jobs coming every year for meditation. It piqued my interest a lot too, and so we spent 3 full days there with 1-day for day trips. Unfortunately amongst all major places I went to, I found Kyoto to be the most overwhelming place to visit. Partially due it’s reputation as zen. Partially due to lack of great public transportation system like rest of Japanese cities. Of course it is not at all unsafe, just overwhelming.

That said, there is still a lot to be seen as relics from it’s golden era as ancient capital still remain and are pervasive. As a tourist, there’s a lot to absorb and appreciate. We had 5 days total in Kyoto. One of the days we spent in North Kyoto (outside city boundaries) in a ryokan in village of Ohara. The last day we decided to do a day-trip to Himeji and Hiroshima. The remainder 3 days in the middle were dedicated to travelling inside Kyoto, including a trip to Arashiyama which is technically in Kyoto city boundaries. I will be highlighting only the 3 days and itineraries in this article.
Why DMOs are uniquely positioned to help their communities
By: Mandy Power
Tags: Destination Marketing, Travel And Tourism, Tourism, Placemaking, Travel Marketing

Photo by Florence Jones on Unsplash

This is a moment in history that people will remember for a long time. They will remember how their city responded in a time of crisis. DMOs have an opportunity to be a leader as your marketing and communication skills are exactly what is needed now.

Historically, DMOs haven’t been focused on the local audience, but recently there has been a shift in the industry to move from destination marketing to destination management. DMOs are tasked with creating a place where people want to live and visit. The time for you to make that shift is now.

What could that look like for you?

Be a source of information for your community

People are looking for information and ways to support each other right now. Work with your local city officials to get clear, factual information out to your local audience. For example, Visit Baltimore has launched a landing page with the latest information on Coronavirus.



I’ve seen communities come together to raise funds for small businesses, encourage buying gift cards for restaurants or offer to get groceries for the immune-compromised. In Austin, a group of people launched rALLY Austin to bring together local business leaders to create a communication hub for supporters wanting to make a difference in the wake of COVID-19.



Think about how your organization can support or start these initiatives. These actions will help build awareness of your organization with the local community.

Build local business partnerships and ambassadors

Create a network of businesses and local influencers who need your support now and can promote your city in the future. Keep in mind local influencers have very strong followings and also want to keep their audiences informed and engaged during this time. While we don’t know how people will respond, it’s likely that local travel will be favored in the coming months. Start planning how you can roll out a local campaign with these partners.

We are in uncertain times and how we respond matters. Are you ready to kick off a local initiative? Let’s chat about what that could look like for your organization.
Travel itinerary for Singapore
By: Pranjal Pathak
Tags: Travel, Singapore, Itinerary, Tourism, Singapore Itinerary

3. Choose the best time to visit Singapore.

Singapore has a fairly consistent weather and welcoming enough for travelers all year round for sightseeing. Whereas, if you would like to skip the long queues and crowded markets, you may want to avoid the peak months December, January, and June. If you are on a honeymoon track to explore your loved one, you might want to choose February as your go-to month. If you are just looking to relax your stressed up muscle points on a beach and outdoor activities right under the sun then the summer days of June to August are the best time to visit.

→ January — February

Some rainfall is recorded during this season with little cold.

Temperature: Avg. of 28° high to 20° low

Weather: The weather is sunny with few rains now and then.

Significance: Significant events are Chinese New Year, Singapore Carnival, Fringe Festival etc.

….

→ March — May

These are generally the hot days with sporadic thunderstorms.

Temperature: Avg. of 32° high to 25° low

Weather: The weather is sunny with less rainfall and wind. However, more thunderstorms occur during these months.

Significance: Significant events are Singapore Fashion Week, Dragon Boat Festival, Singapore Arts Festival, Singapore International Film Festival etc.

….

→ June — September

Sporadic showers and thunderstorms, generally during noon, are a common sight.

Temperature: Avg. of 32° high to 25° low.

Weather: It is generally pleasant during this time with lots of sunshine.

Significance: Significant events are Hari Raya Aidilfitri, Singapore International Festival of Arts, National Day, The Hungry Ghost Festival, The Great Singapore Sale, Singapore Food Festival, Singapore Night Festival, Grand Prix Season, Lantern Festival etc.

….

→ October — November

Intense thunderstorms generally during noon and early evenings. This time is usually rainier as compared to the intern-monsoon period at the beginning of the year.

Temperature: Avg. of 32° high to 25° low

Weather: The weather is relatively humid, less windy and sporadic spells of thunderstorms.

Significance: Significant events are Deepavali, Hari Raya Haji, Singapore River Festival etc.

….

→ December

Consistent rainfall is recorded during this season especially from the month of December to early January.

Temperature: Avg. of 30° high to 22° low

Weather: December is the wettest month in Singapore with rainfall ranging from 63mm to 766mm.

Significance: Significant events are Christmas, ZoukOut Music festival, Pongal, Marina Bay Singapore New Year’s countdown etc.

….
Find The Best Cardiac Treatment In Delhi
By: Delhi Treatment
Tags: Medical, Cardiac, Indira, Tourism, Center

Find The Best Cardiac Treatment In Delhi

Indira Medical Tourism Delhi

Planning your medical trip to India? Have so many confusions and doubts in your mind? Need assistance to find the best Cardiac Hospital In India? You are at the right place. Indira Medical Tourism is a company known for providing Medical Tourism in India to the patients from different corners of the world that you can contact for any health tourism-related concerns.

From arranging your appointments with the doctors, providing accommodation, booking flight tickets to guiding you explore the best of the country, we’ll be with you all the time. We have our association with the Best Hospital For Cardiac In Delhi that has the modest equipment installed to provide the best possible treatment to the patients. We make sure that you’ll get the appointment with the top Cardiac Surgeons In Australia without standing in long queues.

So, what are you waiting for? Get yourself healed before the condition goes worse. For any details related to the Top Cardiac Hospitals In Delhi, contact us now. Fill out the form available on the website or call on the given numbers to get in touch.

Indira Medical Tourism Delhi

At Indira Medical Tourism we bring together the right people, the best technology and the latest techniques to ensure each person we treat gets the best possible medical outcome. We provide a comprehensive cardiology service that includes consultation, cardiac testing and invasive procedures. We will respond rapidly to your needs with access to multiple sites for services, fast turnaround of reports and priority service for urgent patients.

We are committed to understanding the needs of our patients so that we continually provide a caring and professional service that exceeds your expectations. In addition, all our practices utilise modern cardiovascular equipment, technology and techniques to ensure diagnostic accuracy is maximised.

Our purpose is to design care experiences that get the best possible life outcomes. To give you high-quality care that’s available where and when you need it and is tailored to your particular needs. Care that helps you get on with your life and do the things that are important to you. We do this by approaching care like nobody else.

Everything we do is designed in partnership all the way through the entire care process. That means working with everyone from our clinicians to our technicians, from our internal teams to patients. Because, by working together, we stand a better chance of getting more complete health outcomes for you.

So Your travel for your Cardiac Treatment in Delhi will be affordable with the best medical tourism company in delhi i.e Indira Medical Tourism.

So Visit our Website For More Info :- https://indiramedicaltourism.net/

You can find us on Facebook Also :- https://www.facebook.com/indiramedicaltourism/

If You wish to come to our office :- https://goo.gl/maps/5gTBx7gNy21si4e4A
What Are Top Air Traveling Mistakes?
By: Visitpk Tours
Tags: Adventure, Air Travel, Air Travel Accessories, Tourism, Traveling

We do more travelling most of the time and sometimes we have to do air travel, because going to most of the international destination requires air traveling. Do you know the fact that now you can reach up to 5000+ International destinations on the Earth like most of the people can approach multiple places? We humans often do the mistakes for the purpose of travelling through. Many people often think that they are not doing any kind of mistake but reality is the fact humans can do mistakes and errors are also done by them.

I have made list of major air traveling mistakes so that you might avoid them next time for the purpose of living.

List Of Air Traveling Mistakes

Booking At Exact Time

If you do booking at exact time, then price of the air ticket will also remain very high. You have to concentrate on the advance booking for the purpose of reservation. If you will book the air ticket at the same time then price will be higher of all of the tickets. This mistake is one of the greatest ones which is done by many people at the same time for purpose of air traveling. You should advance booking so that price of the air ticket should be very less and you should not be cheated through. You can use the following time frames for the advance booking of air tickets like.

30 Days Before Traveling

60 Days Before Traveling

90 Days Before Traveling

This advance booking is very beneficial in number of ways that you get price of air ticket very cheap as compared to direct booking on the time. We suggest you always to try the advance booking so that you might get air ticket rate in an extremely affordable price. Faremakers. com first online travel company, Pakistan provides special fares to the customer of various airlines. You must book PIA Air Tickets from the company so that they might be fewer problems. Our sales staff with almost present, every time you can contact them, especially head office of the company remains available for your assistance.

Not Using Best Flight Deals

Some of the people also not use the best flight deals for the booking of Cheap Airline Tickets. Best airline promotion must be used by all of the clients so they get the discount which is available in the price of air ticket. Some of the offers contain buy one get one free ticket option, others this might include transit Hotel stay free of cost but it depends on the airline which provide such kind of Hotel stay. Many promotions offer huge percentage of discount so that the passengers could easily book air tickets for themselves. Enjoy your traveling using the promotion of airline. You must checkout which promotion is also being used by other customers because sometimes a passenger book the promotion which many other people also booking! You must beware of these mistakes and try not to repeat them.

This post originally featured at VisitPk’s Blog
Tourism and COVID-19
By: Mirla Chucre
Tags: Tourism, Covid 19

I really like to know new things and learn about them. When I left Brazil for the first time in 2018 I visited Lisbon, Portugal. It was an amazing time. I try to read everything about the country, but of course, I couldn't! I restricted myself to learn about the tourism point, the points of interest. It continues to be great because at that time everything was new in the European environment.

My family and I in the Praça do Comércio (Commercial Square), Lisbon, Portugal

After that, I visited other places until I go to Australia, where I lived a year and a half with my family. I can not enumerate how many I learned there about live!

It was in Australia I started to live in the year 2020. The year 2020! In that humanity started to see the COVID in action. Actually the illness calls COVID-19 because of the year before 2019. Over there we did the quarantine, a strong, and strict quarantine.

The problem: How Can I make a safe trip with an ongoing pandemic?

Tourism x COVID-19

When the COVID has shown in the news all the time I thought to change the world in some way, another time, of course, I couldn’t it! After a couples month, I change the mind, and with I restricted my mind and solver some problem and an idea come to my mind: I like to visit and know news things I like to do tourism, but the new Illness does not allow me to do, so why I create a website where I can see the place I would like to visit and it is saved for my family and me?

Now I have a problem to solve! And now I will start the new project, it is just for fun and helps some people. I hope I enjoy it!

Mirla Braga Chucre.
Why JSON.parse(JSON.stringify()) is a bad practice to clone an object in JavaScript
By: Petro Zubar
Tags: Json, JavaScript

Cloning of objects often become a problem to JS programmers. Surprisingly, the second popular answer to a question `What is the most efficient way to deep clone an object in JavaScript?` is… to JSON.parse(JSON.stringify()) it!

By the way, I found such a ‘deep cloning’ in my own old code!

Why it can cause problems?

You can lose your data

The JSON.stringify() just converts a JavaScript value to a JSON string. It`s ok to use it with some primitives like Numbers, Strings or Booleans.

JSON.parse(JSON.stringify({ a: 1, b: "Hello, world", c: true})) // it`s OK

But sometimes, JSON.stringify() is a little bit… unpredictable. For instance, something like this seems to be weird:

JSON.stringify({ key: undefined });

JSON.stringify({ key: Symbol() });

JSON.stringify({ key: function(){} }); // all will be converted to just "{}"

As you can see, you can just lose unsupported some data when copying your object in such a way. Moreover, JavaScript won`t even warn you about that, because calling JSON.stringify() with such data types does not throw any error.

By the way, as for me, one of the biggest problems of cloning with JSON.stringify() is that methods are not supported by it

Sometimes, JSON.stringify() pretends to be smart and converts some unsupported data types to the supported ones. So, at cases like these:

JSON.stringify({ key: Nan });

JSON.stringify({ key: Infinity }); // all will be converted to "{"key": null}"

Finally, there is a problem with the Date() . Dates will be parsed as Strings, not as Dates. So, if you store Dates object in your object and clone using JSON, you will lose them, too.

It is not so quick and efficient

Looking at some benchmarks, (like this one, or this one) we can see, that cloning with JSON.parse(JSON.stringify()) can be really slow, especially on large objects. I also suggest you read this story about just one line (!!!) of JS code made a site 10 times slower:

(sorry for the spoiler, but that string was JSON.parse(JSON.stringify()) )

But wait, how to clone if not `JSONing`?

OK, now we see, that cloning by converting and parsing JSON may cause huge problems and become antipattern. Since then, there are better approaches:

(the easiest) Use jQuery or Lodash implementations of deep cloning (more interesting) Write your own deep cloning function using recursion (or just google to find some implementations).
Setting Up a Fake Backend Server in Node in Less Than 60 Seconds
By: Yogendra Saxena
Tags: Backend, Nodejs, JavaScript, Programming, Json

Working as a frontend engineer and building a dummy or proof-of-concept project without a complete backend might be very challenging to set up REST API’s. You can use Firebase or many other things to setup backend without writing much code. BUT,

There is a way to set up an incredibly simple backend server running on your localhost. It will be a Node project.

Let’s assume you have a frontend, we can create a backend server using an NPM module json-server.

Let name your node project “FakeBackend”.

Steps:

Make a directory FakeBackend cd FakeBackend npm init Follow the setup CLI by providing basics info for you Node project npm install json-server -g Make a db.json file. Run touch db.json You need to watch that file In package.json write a start script as => json-server -p 3007 -w db.json Put your JSON in db.json npm start

That is all you have to do if you want to set up a fake backend server :)

My package.json:

In my db.json I have:

Making an API call from POSTMAN :

GET ::: localhost:3007/posts/2 {

“name”: “yogi”,

“id”: 2

}

If you make a POST call, then data will automatically get updated in db.json.

Souce code for reference: https://github.com/yogain123/Fake-Backend

Happy Learning :)
Hacking with scala spray-json
Tags: Spray Json, Big Data, DevOps, Scala, Json

Spray-json

Spray-json provides a simple way to write marshalers and unmarshalers for scala case class objects. In this post I’m discussing about various types of marshalers and unmarshalers that can be implemented with spary-json. All the source code which relates to this post available in gitlab.

1. Simple object

Spray-json provides toJson and parseJson functions to marshal and unmarshal simple case class objects.

2. Option fields

Spray-json can automatically handles option fields. If options field does not exists when unmarshaling, it identifies the field as a None .

3. Nested object

When handling nested objects, spray-json required to define the JSON format of the root object and the nested objects.

4. Custom read

We can read custom JSON objects into case class objects by overriding read method of the RootJsonFormat .

5. Nested read

To read custom values from nested JSON objects, we can define multiple RootJsonFormat .

6. Complex read

We can extract the specific fields from JSON object and create the case classes by overriding read method of the RootJsonFormat .

7. Custom write

By overriding write method of RootJsonFormat we can build JSON objects with custom fields.

8. Trait types

We can marshal and unmarshal case classes with custom super types(type defined with trait ) by extending RootJsonFormat .

9. More than 22 fields

The maximum json format supports by spray-json is jsonFormat22 . To marshal/unmarshal case classes which has more than 22 fields we need to write custom RootJsonFormat .

Reference
Data Extraction from Database and modelling into JSON using APACHE NiFi
By: Abhishek Kumar
Tags: Apache Nifi, Data Extraction, Programming, MySQL, Json

Apache NiFi data extraction and transformation to JSON

Apache NiFi is open source, highly reliable and powerful system to process, transform and distribute data . It provides Web based UI to design, control and monitor data end to end.

In this story, we will see how can we connect, extract MySQL DB table record and transform it into JSON

Pre-requisite:

MySQL

Apache NiFi: download from the given link

Once Apace NiFi is installed you can open the Web UI on your browser using the associated port during installation, for Ex:

Now we are ready to start our Exercise, please ensure that MySQL DB server is up and running.

Add processor to fetch table record

a. QueryDatabaseTable : Used Extensively to extract incremental data, based on incremental column from the table. output is written in AVRO format

b. ExecuteSQL: Execute SQL and return the resultant data in AVRO format.

c. GenerateTableFetch: can be used to fetch “pages” of row from the table, useful in managing large set of data in manageable chunks.

d. QueryDatabaseTableRecord: Execute SQL and fetch all rows whose values are larger than specified maximum column last seen, query result will be converted to format specified by record writer.

we will use QueryDatabaseTable example for this exercise:

Drag the processor on web UI and select QueryDatabaseTable.

go to configure processor, properties tab and property database connection pooling service and add DBCPConnectionPool and click on GoTo arrow to configure it:

click on NiFi Flow configuration setting icon and add the DB connection URL, Driver , Driver location path, DB user and password as shown below.

press OK and ensure that DB type , table name and incremental column name (ID here in screenshot below) is added.

ID is column in table employee in my example.

2. Add processor SplitAvro : As output of step 1 is Avro file , this processor can split multiple record set into individual records based on configured properties.

3. Add processor ConverAvroToJSON

This will convert Avro binary to JSON format which would be very used to control and monitor the data flow

4. Add processor MergeContent to group the JSON record back to files.

5. Add processor PutFile to save JSON file for further processing.

once done, you can define your flow and success, failure conditions and start the processors.

please see complete design for the given exercise:

Table employee in MySQL mytestdb

output JSON file view (4th record written into files as and when data was inserted into table.
How to master polymorphism and custom serializers in kotlinx.serialization
By: Sascha Huth
Tags: Android, Serialization, Mobile, Kotlin, Json

Photo by Jakub Kapusnak

If you’re migrating from GSON or any other serialization library to kotlinx.serialization (KXS), chances are that you have to find a solution to replace your custom type adapters. That could be because you implement polymorphic response models, or require some other fancy customization when converting between JSON and Kotlin.

There are two main ways of dealing with that in KXS, so let’s go through both of them and see what’s best for your use case.

1. The @Polymorphic annotation

This is an implicit, descriptive approach for adding subclass awareness to our serializer. Andre Classen has blogged about this before.

As a quick example, let’s define a Fruit class with two subclasses — Apple and Orange — and add the required annotations:

Now you have to teach your KXS Json instance about the polymorphic type by passing it in a SerializersModule :

Let’s write a quick test for the serialization and deserialization. Note that we can use Kotlin’s raw string notation to avoid having to escape quotes in the JSON string 💪:

And that’s it 🎉. Quite straight-forward, but there’s a couple of downsides with that approach:

It only works when objects are self-contained, meaning they have their class defined as one of their fields

It only works when objects can be classified by a single field, not by a combination of fields or some other logic

You can only define one classDiscriminator per JsonConfiguration , meaning we need a new Json instance if that field name is different in other API responses.

If you want to overcome those limitations, you need a more customized solution:

2. A custom @Serializer

This one gives you full control over the serialization process. You have to adapt your models to add the @Serializer annotation and explicitly define the itemType :

Note that you don’t have to overwrite serialize() and deserialize() if you only need one of them (read-only APIs etc.).

You can see that this solution is a bit more verbose than the polymorphic annotation, but definitely more powerful.

You can instantiate the KXS Json object the same way as before, just without the polymorphic block. The tests from the previous section will also pass successfully ✅.

Please let me know in the comments if you have any issues or questions.
Domain Specific Language (DSL) — Introduction with simple Example
By: Madhu Rajesh
Tags: Programming, Markup, Json, Dsl

What is a Domain Specific Language?

A Domain specific language (DSL) is a programming language that emphasis on giving solutions for a problem in a specific domain, normally less intricate than general-purpose languages (GPL) like Java, C, Python etc. A SME (subject matter expert) designs a solution in their familiar terminology at a level of abstraction that makes more sense in their view. Commonly DSL are written in close connection with the experts intended not to be utilized by the software developers instead by non-programmers. A DSL is a unique language used for a specific purpose that solves a specific problem while general purpose languages can be influenced to write any number of programs, a DSL aims at one mission or is built to work on one platform.

How do DSL and general-purpose Code gel together?

There are two different ways of integrating GPL and DSL code.

a. DSL and GPL codes are maintained in separate files. An automatic code generator loads the programme and executes it. This approach is called External DSL. Examples are regular expressions and CSS.

b. In the second approach DSL code and GPL code are maintained in the same program file where DSL reuses the grammar and parser (referred as fluent interface) of GPL. This approach is called as Internal DSL. Internal DSLs have a long custom of usage in the Lisp community.

Although DSLs have been existing for a long time, the absence of expertise of how to program with them is a major barrier. The idea behind this article is to show some ray of light to overcome the barrier.

How does a DSL look?

We shall take a small example of converting a DSL into an equivalent markup code. A DSL is typically a simple code that is understandable at a straight glance. The following code snippet narrates the code for the expected GUI image. The page would have a header that has 2 buttons one of them in active state and the other in passive state. Followed by a row of 2 place holders that has a title, text box ,a green and red coloured button respectively. Then a row of 3 place holders with title, text box and buttons. With Next and close button, the tail ends.

DSL Code

Expected GUI

How to connect DSL with GPL?

A simple DSL — Mapping json file for the above DSL code is expressed as following.

Mapping Code

The mapping file would be referred in the general-purpose codes (python, java) for converting the DSL comments into equivalent mark-up code.

Conclusion

Good DSL brings the way for powerful tool support like, simulations for design assessment, test harnesses, making of highly specialized code focussing various targets and production of formal evidence in maintaining precision and security properties. These types of tools are available for GPL, but generality restricts how far one can move on. The fact that a DSL is confined to a specific problem domain allows for intense and often surprisingly superior results, principally as one can utilize the wealth of domain-specific heuristics and expert knowledge presented for that domain precisely in these tools.
Phase 1 of my Software Dev bootcamp.
By: Roig Rosa
Tags: Javascipt, Json, API, HTML

Okok, so that title may not make much sense when we take the continuation of a coding boot camp per my previous blog. Should it not be phase 2? But wait! as software developers know, when you create an array in Javascript, the index starts at “0”. But in actually, the “0” is treated more like a “1”. Concepts like this, will undoubtedly, confuse many Jr’s from the get go.

So what have we’ve been learning thus far in our cohorts learning journey? To begin with one such example, we have recently gone over how to fetch information from an API public database. We were then tasked to create our own one page site, where we demonstrate our ability to complete such a task, where a user interacts with the page asynchronously. That is to say, without the need of say, refreshing the page. In my example, I created a sort of Pokemon card page (though it is sloppy to say so myself in terms of appearance.), where the user can easily shuffle the cards before them and a set of new cards appear.

let baseURL=’https://pokeapi.co/api/v2/pokemon/';

renderContent(1,30);



function renderContent(min_length,max_length) {

console.log(“rendering”);

let html=’’;

for(let i= min_length;i <= max_length; i++) {

let this_html=’’;

Of course, this is not the grand whole of the project, but a quick snippet of just how it’s done. So what happens we refresh the cards?, well, we new pokemons along with some basic attributes, such as base experience, ID, name, height and so on! It’s quite amazing when a cards information is actually filled out by real data, without the data actually being within the project itself!
Basic Guide, Properties and Usecases of JSON (JavaScript Object Notation)
By: Rahul Mahajan
Tags: JavaScript, Json Stringify, Json Parse, Json

JSON Methods

The global variable JSON serves as a namespace for functions that produce and parse strings with JSON data.

So the two main methods associated with JSON namesake are:

Stringify Parse

JSON.stringify(value, replacer?, space?)

It is a method on JSON which produces the strings with JSON data.

It translates the JavaScript value value to a string in JSON format.It has 2 optional arguments : replacer and space.

The optional parameter replacer is used to change the value before stringifying it. For example:

replacer function

Using the replacer:

> JSON.stringify({ a: 5, b: [ 2, 8 ] }, replacer)

'{"a":10,"b":[4,16]}'

The optional parameter space influences the formatting of the output. Without this param, the stringified value will be a single line of text.:

> console.log(JSON.stringify({a: 0, b: ['

']}))

{"a":0,"b":["

"]} > console.log(JSON.stringify({a: 0, b: ['

']}, null, 2))

{

"a": 0,

"b": [

"

"

]

} > console.log(JSON.stringify({a: 0, b: ['

']}, null, '|--'))

{

|--"a": 0,

|--"b": [

|--|--"

"

|--]

}

Two Data Ignored by JSON.stringify()

If the value is a function, then the JSON.stringify() ignores it.

eg:

a) var obj = {

“name”: “Rahul”,

“describe”: function(){return 10;}

}

> JSON.stringify(obj)

‘{“name”: “Rahul”}’ ;i.e., the function is ignored

b) JSON.stringify() handles values that are not supported by JSON (such as functions and undefined)

> JSON.stringify(function() {})

undefined

The toJSON() Method

If JSON.stringify() encounters an object that has a toJSON method, it uses that method to obtain a value to be stringified. For example:

> JSON.stringify({ toJSON: function () { return 'Cool' } })

'"Cool"'

Dates already have a toJSON method that produces an ISO 8601 date string:

> JSON.stringify(new Date('2011-07-29'))

'"2011-07-28T22:00:00.000Z"'

JSON.parse(text, reviver?)

It parses the JSON data in text and returns a JavaScript value. Here are some examples:

> JSON.parse("'String'") // illegal quotes

SyntaxError: Unexpected token ILLEGAL

> JSON.parse('"String"')

'String'

> JSON.parse('123')

123

> JSON.parse('[1, 2, 3]')

[ 1, 2, 3 ]

> JSON.parse('{ "hello": 123, "world": 456 }')

{ hello: 123, world: 456 }

The optional parameter ‘reviewer’ can be used to transform the parsed data.

In this example, we are translating date strings to date objects:

dateReviewer function

The result is:

> var str = ‘{ “name”: “Rahul”, “birth”: “1998–05–15T22:00:00.000Z” }’;

> JSON.parse(str, dateReviver)

{ name: ‘Rahul’, birth:“Fri, 15 May 1998 22:00:00 GMT” }