Computers, wifi, technology, linux, open source, photography, little bit of stock investing/trading, cyclist and possibly many other things
92 stories
·
3 followers

Meet Indian techie Satyarup Siddhanta, the world’s youngest climber to scale the tallest peaks, volcano summits

1 Share

Thirty-five-year-old Satyarup Siddhanta achieved this feat when he scaled Mt Sidley in Antarctica recently.

In the early hours of Wednesday, Indian mountaineer Satyarup Siddhanta scaled the 4,285m high volcanic peak Mt Sidley in Antarctica. With this feat, 35-year-old Satyarup, a software engineer by profession, has become the youngest person in the world to scale all the tallest mountains and volcanoes across seven continents.

Starting in 2012, he has climbed the highest peaks around the world and, so far, is the only Indian to scale ‘Seven Summits’ and ‘Seven Volcanic Summits’. Speaking over a satellite phone, he told Hindustan Times,

I played the national anthem on the summit and it’s very cold and overcast here. I suspect I have sustained frostbite on my fingers.

Satyarup Siddhanta
Satyarup Siddhanta had scaled Mount Everest earlier in 2016 |Source: Deccan Chronicle

Satyarup’s close friend Dipanjan Das, who coordinates his logistics on such trips, said,

After a night halt at the camp, Siddhanta will start for the base camp that is at about 2,100 metres. From there, he will take a special flight for the camp in Union Glacier. It took him 10 hours to reach the peak from the base camp.

Prior to Mt Sidley, Siddhanta scaled mount Vinson Massif, termed ‘Antarctica’s highest peak’ on December 15, 2017. With this feat, he had become the fifth Indian citizen who has climbed the tallest peaks in each continent.

Satyarup
Source: Live Hindustan

Veteran mountaineer Debasish Biswas, who had climbed peaks higher than 8,000m, said, "Watching his determined moves, we knew the record was only a matter of time. The short span in which he set foot on all these peaks makes it more special."

“I am proud of Satyarup as a mountaineer for his world record. His feat is remarkable since he achieved it in less than seven years and in the face of fund constraints,” said Basanta Singha Roy, who became the first Bengali civilian to climb Mount Everest in May 2010 and went on to scale three peaks above 8,000 metres. “Watching his determined moves, we knew the record was only a matter of time. The short span in which he set foot on all these peaks makes it more special.”

Satyarup resides in Bengaluru and hails from Haridevpur in Kolkata. He tasted his first success when he climbed Mt Kilimanjaro in Africa. He also holds several records for climbing several other summits like Mt Elbrus in Europe, Mt Denali in Alaska and Mt Monch Blanc in France, reports NDTV.


Do you have an interesting story to share? Please write to us at tci@yourstory.com. To stay updated with more positive news, please connect with us on Facebook and Twitter.

Read the whole story
nileshgr
2 days ago
reply
Pune, India
Share this story
Delete

Subscriptions for the 1%

1 Share

We are in a subscription hell. Paywalls are going up across the internet, at aggregated prices few but Jeff Bezos can afford. The software I used to pay for once now requires an annual tax, because … “updates.” We are getting less every day, and paying more for it, all the while the core openness that made the world wide web such a dynamic and interesting place is rapidly disappearing.

I’m not a subscription hater. Far from it: subscriptions are vital, because they provide sustainability to the content and software I care about. Regular, recurring income helps make the business of creation more predictable, ensuring that creators can do what they do best — create — rather than stress about whether the next book or app is going to generate their yearly earnings.

Greed, though, has managed to make subscriptions deeply unpalatable. Sustainability has become usurious, with news subscriptions jumping in price and app developers suddenly demanding a fee where none existed before. This avarice for our wallets though is not misdirected. Ultimately, one group of people is to blame for this situation, and it isn’t the bean counters in the accounting department.

It’s us.

And by us, I mean the proverbial 99% consuming public who refuses to pay for any content or software — except for Netflix or Amazon Prime, of course.

Just take a look at the abysmal conversion rates for online content. The New York Times gets 89 million uniques per month, but only has 2.2 million subscribers, excluding crossword and other app subscribers. The Guardian has 800,000 financial supporters, but about 140 million unique visitors at a peak a few years ago. Last year, the Wikimedia Foundation received donations from 6.1 million donors, yet just the English language edition of Wikipedia received 7.7 billion page views last month. That’s 1,300 April page views per annual donor.

The implied conversion rates here are in the very low single digits, if not lower. And that’s no surprise given the extreme lengths people go to get content for free. A friend of mine uses AWS to rent IP addresses to reset his article meter on popular news pages, allowing him to download web pages through a Singapore data center using a custom command line utility. Engineers who make hundreds of thousands of dollars are suddenly tantalized by the challenge of trying to break through a porous paywall. I have less technical friends Googling URLs, setting up proxies, and other tactics to get to the same outcome.

The problem with these minuscule conversion rates is that it dramatically raises the cost of acquiring a customer (CAC). When only 1% of people convert, it concentrates all of that sales and marketing spend on a very small sliver of customers. That forces subscription prices to rise so that the CAC:LTV ratios make rational sense.

What we get then is a classic case of economic unraveling. A company could offer an affordably priced subscription, but users hesitate, and so the company tries to do more marketing initiatives, which raises the cost of the subscription. That makes the vast majority of users even less willing to purchase it, so marketing gets more budget to go after the highest spending consumers.

Before you know it, what once might have been $1 a month by 20% of a site’s audience is now $20 a month for the 1%.

That’s basically the math of the New York Times. Last year, the company generated $340 million in digital-only revenue from 2.6 million subscribers (including derivatives like crosswords and cooking). That’s $155 a user on average annually, or about $13 a month. The Times had an implied conversion rate of about 2.5% from my earlier calculations. If they could convert 20% at the same sales and marketing cost, they could charge $20 a year and get the same revenue (maybe $22 for added credit card processing fees).

The entire subscription economy is ultimately a 1% economy — it’s focused on a very small subset of users who have demonstrated that they are willing to pay dollars for content. The most likely factor that someone is going to buy a subscription is that they already have a subscription to another service. And so we see pricing that reflects this reality.

There is a class of exceptions around Netflix, Spotify, and Amazon Prime. Spotify, for instance, had 170 million monthly actives in the first quarter this year, and 75 million of those are paid, for an implied conversion of 44%. What’s unique about these products — and why they shouldn’t be used as an example — is that they own the entirety of a content domain. Netflix owns video and Spotify owns music in a way that the New York Times can never hope to own news or your podcast app developer can never hope to own the audio content market.

Yes, we are living in a subscription hell, but it is also heavily a product of our own decision-making as consumers. We want content and software for free, and in fact, we will go to ridiculous lengths to avoid paying for it. We will protest ads and privacy-invasive tracking, but we will never support the business model that would make that technology obsolete. Even when we will consider buying a service, we will wait so long and make the conversion so expensive that a huge chunk of our individual revenue will simply evaporate in sales and marketing costs.

The solution here is to become more intentional about aligning our content spending with what we read, use, watch, and hear. Put together an annual content budget, and spend it liberally across the publications and creators that you enjoy. Advocate for pricing that makes sense for you individually, but also convert more easily when you find something that you like. The friction has to lower on both sides of the marketplace for the 20% to supplant the 1%.

I don’t want a world filled with gilded walled gardens designed to ensure that the 1% have the best information and entertainment while leaving the rest of us with clickbait fake news and bad covers on YouTube. But creating content and software is expensive, and ultimately, businesses are going to sell to the customers that pay them. It’s on all of us to engage in that market. Maybe then this subscription hell can freeze over.

Read the whole story
nileshgr
245 days ago
reply
Pune, India
Share this story
Delete

Telecom Sector Is In Poor Health, But Here’s How It Can Recover

1 Share
Perspectives on the state of the telecom industry
Read the whole story
nileshgr
246 days ago
reply
Pune, India
Share this story
Delete

The Slow Death of Internet Explorer and the Future of Progressive Enhancement

1 Share

My first full-time developer job was at a small company. We didn’t have BrowserStack, so we cobbled together a makeshift device lab. Viewing a site I’d been making on a busted first-generation iPad with an outdated version of Safari, I saw a distorted, failed mess. It brought home to me a quote from Douglas Crockford, who once deemed the web “the most hostile software engineering environment imaginable.”

The “works best with Chrome” problem

Because of this difficulty, a problem has emerged. Earlier this year, a widely shared article in the Verge warned of “works best with Chrome” messages seen around the web.

There are more examples of this problem. In the popular messaging app Slack, voice calls work only in Chrome. In response to help requests, Slack explains its decision like this: “It requires significant effort for us to build out support and triage issues on each browser, so we’re focused on providing a great experience in Chrome.” (Emphasis mine.) Google itself has repeatedly built sites—including Google Meet, Allo, YouTube TV, Google Earth, and YouTube Studio—that block alternative browsers entirely. This is clearly a bad practice, but highlights the fact that cross-browser compatibility can be difficult and time-consuming.

The significant feature gap, though, isn’t between Chrome and everything else. Of far more significance is the increasingly gaping chasm between Internet Explorer and every other major browser. Should our development practices be hamstrung by the past? Or should we dash into the future relinquishing some users in our wake? I’ll argue for a middle ground. We can make life easier for ourselves without breaking the backward compatibility of the web.

The widening gulf

Chrome, Opera, and Firefox ship new features constantly. Edge and Safari eventually catch up. Internet Explorer, meanwhile, has been all but abandoned by Microsoft, which is attempting to push Windows users toward Edge. IE receives nothing but security updates. It’s a frustrating period for client-side developers. We read about new features but are often unable to use them—due to a single browser with a diminishing market share.

A graph showing Internet Explorer’s global market share from 2013 to 2018. It has declined from about 23 percent to about 3 percent.
Internet Explorer’s global market share since 2013 is shown in dark blue. It now stands at just 3 percent.

Some new features are utterly trivial (caret-color!); some are for particular use cases you may never have (WebGL 2.0, Web MIDI, Web Bluetooth). Others already feel near-essential for even the simplest sites (object-fit, Grid).

A list from caniuse.com of features that are supported in Chrome but unavailable in IE11. This is a truncated and incomplete screenshot of an extraordinarily long list.
A list of features supported in Chrome but unavailable in IE11, taken from caniuse.com. This is a truncated and incomplete screenshot of an extraordinarily long list.

The promise and reality of progressive enhancement

For content-driven sites, the question of browser support should never be answered with a simple yes or no. CSS and HTML were designed to be fault-tolerant. If a particular browser doesn’t support shape-outside or service workers or font-display, you can still use those features. Your website will not implode. It’ll just lack that extra stylistic flourish or performance optimization in non-supporting browsers.

Other features, such as CSS Grid, require a bit more work. Your page layout is less enhancement than necessity, and Grid has finally brought a real layout system to the web. When used with care for simple cases, Grid can gracefully fall back to older layout techniques. We could, for example, fall back to flex-wrap. Flexbox is by now a taken-for-granted feature among developers, yet even that is riddled with bugs in IE11.

.grid > * {
    width: 270px; /* no grid fallback style */
    margin-right: 30px; /* no grid fallback style */
}

@supports (display: grid) {
.grid > * {
	width: auto;
	margin-right: 0;
}
}

In the code above, I’m setting all the immediate children of the grid to have a specified width and a margin. For browsers that support Grid, I’ll use grid-gap in place of margin and define the width of the items with the grid-template-columns property. It’s not difficult, but it adds bloat and complexity if it’s repeated throughout a codebase for different layouts. As we start building entire page layouts with Grid (and eventually display: contents), providing a fallback for IE will become increasingly arduous. By using @supports for complex layout tasks, we’re effectively solving the same problem twice—using two different methods to create a similar result.

Not every feature can be used as an enhancement. Some things are imperative. People have been getting excited about CSS custom properties since 2013, but they’re still not widely used, and you can guess why: Internet Explorer doesn’t support them. Or take Shadow DOM. People have been doing conference talks about it for more than five years. It’s finally set to land in Firefox and Edge this year, and lands in Internet Explorer … at no time in the future. You can’t patch support with transpilers or polyfills or prefixes.

Users have more browsers than ever to choose from, yet IE manages to single-handedly tie us to the pre-evergreen past of the web. If developing Chrome-only websites represents one extreme of bad development practice, shackling yourself to a vestigial, obsolete, zombie browser surely represents the other.

The problem with shoehorning

Rather than eschew modern JavaScript features, polyfilling and transpiling have become the norm. ES6 is supported everywhere other than IE, yet we’re sending all browsers transpiled versions of our code. Transpilation isn’t great for performance. A single five-line async function, for example, may well transpile to twenty-five lines of code.

“I feel some guilt about the current state of affairs,” Alex Russell said of his previous role leading development of Traceur, a transpiler that predated Babel. “I see so many traces where the combination of Babel transpilation overhead and poor [webpack] foo totally sink the performance of a site. … I’m sad that we’re still playing this game.”

What you can’t transpile, you can often polyfill. Polyfill.io has become massively popular. Chrome gets sent a blank file. Ancient versions of IE receive a giant mountain of polyfills. We are sending the largest payload to those the least equipped to deal with it—people stuck on slow, old machines.

What is to be done?

Prioritize content

Cutting the mustard is a technique popularized by the front-end team at BBC News. The approach cuts the browser market in two: all browsers receive a base experience or core content. JavaScript is conditionally loaded only by the more capable browsers. Back in 2012, their dividing line was this:

if ('querySelector' in document && 'localStorage' in window && 'addEventListener' in window) {
     // load the javascript
}

Tom Maslen, then a lead developer at the BBC, explained the rationale: “Over the last few years I feel that our industry has gotten lazy because of the crazy download speeds that broadband has given us. Everyone stopped worrying about how large their web pages were and added a ton of JS libraries, CSS files, and massive images into the DOM. This has continued on to mobile platforms that don’t always have broadband speeds or hardware capacity to render complex code.”

The Guardian, meanwhile, entirely omits both JavaScript and stylesheets from Internet Explorer 8 and further back.

A screenshot of the Guardian navigation as seen in Internet Explorer 8, showing a list of links stripped of the site’s visual design.
The Guardian navigation as seen in Internet Explorer 8. Unsophisticated yet functional.

Nature.com takes a similar approach, delivering only a very limited stylesheet to anything older than IE10.

The nature.com homepage as seen in Internet Explorer 9, showing only a minimal visual design.
The nature.com homepage as seen in Internet Explorer 9.

Were you to break into a museum, steal an ancient computer, and open Netscape Navigator, you could still happily view these websites. A user comes to your site for the content. They didn’t come to see a pretty gradient or a nicely rounded border-radius. They certainly didn’t come for the potentially nauseating parallax scroll animation.

Anyone who’s been developing for the web for any amount of time will have come across a browser bug. You check your new feature in every major browser and it works perfectly—except in one. Memorizing support info from caniuse.com and using progressive enhancement is no guarantee that every feature of your site will work as expected.

A screenshot of the W3C’s website for the CSS Working Group as viewed in the latest version of Safari, showing overlapping, unreadable text.
The W3C’s website for the CSS Working Group as viewed in the latest version of Safari.

Regardless of how perfectly formed and well-written your code, sometimes things break through no fault of your own, even in modern browsers. If you’re not actively testing your site, bugs are more likely to reach your users, unbeknownst to you. Rather than transpiling and polyfilling and hoping for the best, we can deliver what the person came for, in the most resilient, performant, and robust form possible: unadulterated HTML. No company has the resources to actively test their site on every old version of every browser. Malfunctioning JavaScript can ruin a web experience and make a simple page unusable. Rather than leaving users to a mass of polyfills and potential JavaScript errors, we give them a basic but functional experience.

Make a clean break

What could a mustard cut look like going forward? You could conduct a feature query using JavaScript to conditionally load the stylesheet, but relying on JavaScript introduces a brittleness that would be best to avoid. You can’t use @import inside an @supports block, so we’re left with media queries.

The following query will prevent the CSS file from being delivered to any version of Internet Explorer and older versions of other browsers:

<link id="mustardcut" rel="stylesheet" href="stylesheet.css" media="
    only screen,
    only all and (pointer: fine), only all and (pointer: coarse), only all and (pointer: none),
    min--moz-device-pixel-ratio:0) and (display-mode:browser), (min--moz-device-pixel-ratio:0)
">

We’re not really interested in what particular features this query is testing for; it’s just a hacky way to split between legacy and modern browsers. The shiny, modern site will be delivered to Edge, Chrome (and Chrome for Android) 39+, Opera 26+, Safari 9+, Safari on iOS 9+, and Firefox 47+. I based the query on the work of Andy Kirk. If you want to take a cutting-the-mustard approach but have to meet different support demands, he maintains a Github repo with a range of options.

We can use the same media query to conditionally load a Javascript file. This gives us one consistent dividing line between old and modern browsers:

(function() {
	var linkEl = document.getElementById('mustardcut');
	if (window.matchMedia && window.matchMedia(linkEl.media).matches) {
    	var script = document.createElement('script');
    	script.src = 'your-script.js';
    	script.async = true;
    	document.body.appendChild(script);
	}
})();

matchMedia brings the power of CSS media queries to JavaScript. The matches property is a boolean that reflects the result of the query. If the media query we defined in the link tag evaluates to true, the JavaScript file will be added to the page.

It might seem like an extreme solution. From a marketing point of view, the site no longer looks “professional” for a small amount of visitors. However, we’ve managed to improve the performance for those stuck on old technology while also opening the possibility of using the latest standards on browsers that support them. This is far from a new approach. All the way back in 2001, A List Apart stopped delivering a visual design to Netscape 4. Readership among users of that browser went up.

Front-end development is complicated at the best of times. Adding support for a technologically obsolete browser adds an inordinate amount of time and frustration to the development process. Testing becomes onerous. Bug-fixing looms large.

By making a clean break with the past, we can focus our energies on building modern sites using modern standards without leaving users stuck on antiquated browsers with an untested and possibly broken site. We save a huge amount of mental overhead. If your content has real value, it can survive without flashy embellishments. And for Internet Explorer users on Windows 10, Edge is preinstalled. The full experience is only a click away.

A screenshot of the A List Apart masthead open in Internet Explorer 11, showing the ever-present Internet Explorer button that reads Open Microsoft Edge.
Internet Explorer 11 with its ever-present “Open Microsoft Edge” button.

Developers must avoid living in a bubble of MacBook Pros and superfast connections. There’s no magic bullet that enables developers to use bleeding-edge features. You may still need Autoprefixer and polyfills. If you’re planning to have a large user base in Asia and Africa, you’ll need to build a site that looks great in Opera Mini and UC Browser, which have their own limitations. You might choose a different cutoff point for now, but it will increasingly pay off, in terms of both user experience and developer experience, to make use of what the modern web has to offer.

 

Read the whole story
nileshgr
246 days ago
reply
Pune, India
Share this story
Delete

Water pumps can now be switched on at the click of a button, thanks to this student innovator

1 Share

“I feel that technology should not only be used to create robots, driverless cars, and to drive globalisation but also to empower the masses, especially the farmers of our country who bring food to the table.” 

Young Ishan Malhotra would pass through the farms of Mahapura village every day on his way to school. He would see men, their shoulders hunched tilling the soil day in and out, women sowing the fields, and farmers working round the clock to ensure water supply in the fields. He says,

In thousands of these villages, electricity supply is irregular. This forces our farmers to visit their farms at odd hours, several times in a day; and even during the night just to switch on the motor pumps and irrigate their fields.

A student of Jayshree Periwal International School, Jaipur, Ishan wanted to solve this problem faced by the rural farming community and find an easier way to help water the fields.

Hence, the then 15-year-old embarked on a project to incorporate technology in the fields where a farmer could control his motor pump via his/her mobile phone or landline.

In 2017, Ishan launched Pluto, a device that enables the user to remotely connect the submersible pump, like a tullu pump, or any other electrical device, to its source of power from anywhere by using a phone, landline or mobile.

Harsh Vardhan, Union Minister of Science & Technology and Earth Sciences, appreciated Ishan for his device and for doing his bit to empower farmers.

It provides the user with accurate information of the power/electricity status of the area where it is being used. The principal benefit, Pluto’s website explains, is that the user does not have to be physically present to switch on/off the water pump. Twenty-eight-year-old Krishna Devi from Nevata village in Mahapura says,

Pluto saves us a lot of time. My husband now spends time with his children and helps them with their studies at home.

With manuals in dual languages, English and Hindi, Pluto has over 400 users spread across Mahapura, Rajasthan and Khajakhera in Sirsa, Haryana. The device is priced at Rs 500.

The idea

While attending the Stanford Honours Academy in Jaipur and pursuing a course in ‘Video Game Design’, Ishan developed a strong penchant for technology.

His desire to work with the farming community, near his school, got him thinking whether a technological solution was possible for. They only have one wealth, their crops, to survive on, he shares.

In the summer of 2015, under the guidance of Sherol Chen, Instructor-Stanford Pre-Collegiate Studies, he started working on his idea. He skipped basketball games, midnight feasts; and worked with single-minded focus to finally come up with a prototype. Through Sherol Ishan, he contacted Carson McNeil, Software Engineer-Human Sensing at Google, to examine his prototype. Based on his feedback and multiple evaluations, Ishan developed Pluto within two years. He says,

Within six months I developed Pluto. But little did I know that technology is not as foolproof as I thought it would be. The product suffered numerous malfunctions. When I failed after repeated attempts, I was on the verge of losing my patience. That was an ‘ouch’ moment. However, I continued to improve on my product and it took me a two years to develop a Pluto device that was free of technical glitches.

He used crowdfunding to fund his project while his school and parents supported him and mentored him throughout his project. Ishan says that his parents inspired him to give back to the society. They believed that “educated and qualified youngsters can change the world.” He adds,

I belong to a Sikh family, and have always seen my parents and grandparents performing ‘seva' at gurdwaras. I started doing seva from the age of three. The need and fundamental obligation to give back to the society has been deeply ingrained in me and my sister, Simar.

Over the years, the siblings have been involved with Parvaah, an NGO that works towards protecting the environment and empowering the underprivileged and economically backward rural communities.

The device

Upon multiple interactions with the farming community Ishan learned that farmers walked 5-7 km daily to operate the motor pump. Further it proved to be a health hazard for aged/senior farmers to walk in harsh climate, particularly monsoons.

Pluto was designed to mitigate these problems.

The device enables farmers to operate their motor pumps, installed in the fields, via mobile phone or a landline — anywhere, any time. Keeping in mind the fragmented digital connectivity in rural villages of Rajasthan, Ishan’s device functions without a 3G or a 4G network and is not a mobile-based application either. Ishan explains,

A basic 2G network is all that is needed. A smartphone is also not required. All of Pluto’s features can be accessed by a normal mobile/landline.

Pluto works on the concept of input/output controller (IOC). Essentially each Pluto has a sim card that is controlled with Arduino, an open-source platform used for building electronics projects, and a GSM module.

A farmer needs to install an activated sim card in Pluto to start the device. The user then needs to connect the device to their water pump contractor’s switchboard. Once the device setup is completed, the team actives the devices by guiding the user on phone call itself.

It is fitted with three ‘bulbs’ that provides the user with real-time information about the working of the device: green indicates electricity flow; yellow indicates that the sim card is connected to the mobile network and that the device is ready to be used, and the red indicates that the motor pump is switched on.

The impact

While there are multiple challenges faced by the agricultural sector — including fragmented land holding, irrigation problems, seed problems, sustainability problems, and over-dependence on traditional crops like rice and wheat — for Ishan, water and electricity were the primary problems which required immediate attention.

Initially, he made 25 pilot devices which were distributed among the farmers of Mahapura village. Within a few days, more farmers approached him for his device.

“Pluto has changed our lives,” 52-year-old Dharam Raj, a farmer from Nevata village, shares.

Ishan then distributed the device to the farmers of Sirsa, his maternal hometown. He met several sarpanchs, and village leaders, and informed them about the benefits of Pluto. When he visited them after two months he received an overwhelming response. farmer Baldev Kumar, aged 40, says,

We don’t have to go to our farms during rains. We control the pump from the comfort of our home itself.

Since women were normally tasked with watering the fields, Pluto has also empowered them. Pluto, Ishan says, gave the village women “a sense of fulfilment and made them realise that they are no less important than their husbands.

Ishan has proved that the youth indeed are the driving forces of India. He remains unfazed about the commercial aspect of his product, and says that all that matters is that his device can bring about social change.

Read the whole story
nileshgr
247 days ago
reply
Pune, India
Share this story
Delete

ePayLater & IDFC Bank Partner to Bring India’s First UPI-Based Digital Credit Card

1 Comment

ePayLater, provider of digital credit solutions, has partnered with IDFC Bank to bring instant digital credit to individuals transacting online and offline, using BHIM UPI. ePayLater’s ‘Buy Now, Pay Later’ credit facility works like a credit card without the hassles associated with a long application process or friction at payment checkout. For the first time, […] More

The post ePayLater & IDFC Bank Partner to Bring India’s First UPI-Based Digital Credit Card appeared first on NextBigWhat..

Read the whole story
nileshgr
247 days ago
reply
UPI credit card... hmmmmmmmm
Pune, India
Share this story
Delete
Next Page of Stories