Janus: a minimalist argument-parsing library for Python - <AUTHOR> https://github.com/dmulholland/janus <comment><USER2> What's the benefit of using this over the _argpars_ e module which is part of the standard library?</comment>


Air Travel Emissions Vastly Outpace Predictions - <AUTHOR> https://www.nytimes.com/2019/09/19/climate/air-travel-emissions.html <comment><USER3> If you need to travel long distances, there's little substitute for an airplane.

If air travel accounts for less emissions than passenger cars, and if the top 15 polluting large container ships produce as much (noxious oxides of nitrogen and sulphur) pollution as all cars, then we need to fix shipping first.

And if you look at a lot of the crap that is being shipped, it's stuff we just don't need. A lot of things are replaced frequently with cheap and short-lived new things, so there's plenty of room to reduce the amount of shipping.

We should also focus on trains and electric buses to reduce the amount of car use. Some parts of the world already do. And after spending many years commuting in heavy Texas road traffic, I much prefer European train/metro/tram (and even bus) travel. Oh, and bikes and feet for the last 1-2km.

<comment><USER4> > ... then we need to fix shipping first.

The problem with this logic is that we aren't one person looking at a bug tracker queue deciding one to tackle next. We are a _civilization_.

We need to fix everything all at once, as quickly as possible.

If shipping is a problem, _fix it now_.

If air travel is a problem, _fix it now_.

If grid electric is a problem, _fix it now_.

If automotive emissions are a problem, _fix it now_.

We are many; we can do much.

<comment><USER5> Right. 7 billion people is an unfathomable amount.

You don't understand what it means. I don't understand what it means.

A person can tackle a bug in a tracker.

A company can tackle a bug tracker.

A few cities' worth can tackle manufacturing the computer.

The world? We got this. All in.

If we're enough to fuck it up, we're enough to sort it out.

<comment><USER6> > If we're enough to fuck it up, we're enough to sort it out.

That's the one thought that gives me comfort around the whole climate crisis problem. We humans have screwed up the climate through absolute _mountains_ of labour. It didn't just happen, it happened as an emergent property of all the various economic activities that humans have been doing for hundreds of years. We don't lack labour to tackle the problem, we lack direction for the labour, incentives that makes civilization as a whole change course and move in the right direction.

<comment><USER7> To be fair, we didn't have to understand the climate to break it.

</comment></comment></comment></comment></comment><comment><USER8> One thing that's very important to keep in mind when looking at air travel emissions is how fuel efficient planes actually are. The math works out to around 100 miles per gallon per passenger. And at an underwhelming 2.5% of global emissions, I can't really put it in the category of "low hanging fruit."

That's not to say that we shouldn't invest in things like high speed rail, (because we absolutely will see quality of life improvements for North America) but I'm more excited about improvements in vehicle transportation and energy production.

<comment><USER9> _The math works out to around 100 miles per gallon per passenger._

That assumes maximum passenger load, I assume.

At maximum passenger load, my car gets 170 miles per gallon per passenger.

A giant, gas-guzzling Chevy Suburban gets 198 miles per gallon per passenger.

I don't think "per gallon per passenger" is a useful measure.

<comment><USER10> Just feel like pointing out that airplanes are flown maximum passenger load or close to it as much as possible whereas you can see just by looking around in traffic that passenger cars are mainly driven with one person inside.

<comment><USER11> They're also flown very far away.

</comment></comment></comment></comment><comment><USER12> I fly fairly frequently to California from NY for work, lately after reading a few articles like this, I wonder if I should put my foot down to my manager and tell them that I'm not going to anymore until flying is less terrible for the atmosphere.

I don't think I'll be fired for that, and even if I were I'd probably be able to find another job without too much trouble at this point, but I feel a bit bad for people don't have this option.

NOTE: I realize I'm hardly a beacon of "how to save the world from climate change", but I do try and do a _bit_ where I can; I take public transit almost exclusively and do not own a car, and I have stopped eating beef and pork. I still order a lot of stuff from China online, which is probably the next habit I should break.

<comment> bjelkeman-again I did change. I dropped from 35-40 flights in 12 months (really not good, in more ways than one) to 3-4. Still too many. But getting there.

<comment><USER12> I think people are too quick to dismiss incremental progress; you dropped by 90%, that sounds pretty excellent to me!

<comment><USER13> "Don't let the perfect be the enemy of the good" is something that needs to be included in climate conversations a lot more.

You don't have to be a vegan hermit to have an impact. Eating a little less meat, foregoing one flight, and biking to work once a week is better than not doing anything and that's great.

</comment></comment></comment></comment><comment><USER14> 2.5% eh? We should all immediately stop flying... This is outrageous. Just imagine, 2.5%!!

But on a more serious note, this article is again wrong, like so many others about climate change. Being a combination of clickbait and false assumptions, it fails to miss the point entirely that first, 2.5% are irrelevant, but also that it makes no sense whatsoever to tackle this now. The technology is just not there yet.

What we urgently NEED to do is invest HUGE amounts of money into two key technologies. One is batteries. Make them as small, lightweight and efficient as possible. Pretty much everything depends on that and there has been no notable breakthrough in like forever... Without "super" batteries, we can kiss "preventing climate change" goodbye.

Another one is sucking the carbon out of the atmosphere. And no, we DON'T need to reduce our carbon emission, one of the key mistakes people make when it comes to climate change. What we need to do is to suck out more than we put in. There is no way in hell that 200 countries in the world agree on being C02 neutral. The leading countries need to suck the shit back out, that is the only way forward.

As for all the people who preach changing the entire world by reducing emissions... I mean, I get you are very naive, but seriously: It's not gonna happen. It is cute to have girl sail through the Atlantic to make so pep talk at congress. But it is also really meaningless. This is not the way the world will change. It never has. Politicians can't agree on the color of shit within their own country, not to mention between them.

The only way to avoid catastrophe is to outpace climate change with innovation. The world is not going to sacrifice living standards until they all drown in their own filth.

<comment><USER15> Any time someone actually does the math on sucking carbon out of the atmosphere, it seemingly becomes clear that it is simply not scalable to suck the carbon out of the atmosphere. Have you done the math, and if so, why is everyone who comes to the aforementioned conclusion wrong?

<comment><USER16> These guys seem to have a viable approach to accelerated weathering, a form of carbon removal: [https://projectvesta.org/](https://projectvesta.org/)

<comment><USER17> There's not enough limestone deposits for this to work - that aren't actually being currently mined.

You cannot use a an active mine for this technique, you have to let the stone lie and weather.

<comment><USER16> Read their FAQ [1]. They're using olivine, not limestone, and there's a ton of olivine in the crust.

[1] [https://projectvesta.org/frequently-asked- questions/](https://projectvesta.org/frequently-asked-questions/)

</comment></comment></comment></comment></comment><comment><USER18> "Over all, air travel accounts for about 2.5 percent of global carbon dioxide emissions — a far smaller share than emissions from passenger cars or power plants."

2.5% means we should focus on reducing somewhere else in the near term.

<comment><USER19> Air travel is more important because of the water vapor far more than the carbon.

The week following 9/11 was dramatically different. NASA recorded the change in daily temperature range. Less significantly, we had crystal clear skys where I live - for a week!

Water vapor can also seed cloud formation. Air travel causes a daily cycle in this, which might just keep more heat in at night.

You can look at data and see the temperature rise along with energy use (CO2). But to compare it with the rise in air travel is also informative. IIRC there is even an uptick of both during WWII.

But y'all can keep screaming 'bout CO2 till the cows come home. It may be that we really need coal fired airplanes that dont emit water vapor, just more CO2.

<comment><USER20> > "The week following 9/11 was dramatically different. NASA recorded the > change in daily temperature range. Less significantly, we had crystal clear > skys where I live - for a week!"

Do you have links for this?

<comment><USER21> [https://web.archive.org/web/20160411094048/http://www.atmos....](https://web.archive.org/web/20160411094048/http://www.atmos.washington.edu/~rennert/etc/courses/pcc587/ref/Travis- etal2002_Nature.pdf)

[https://www.nature.com/news/2008/081231/full/news.2008.1335....](https://www.nature.com/news/2008/081231/full/news.2008.1335.html)

<comment><USER22> The second link actually states the opposite: "A new analysis now claims that altered US temperature patterns during the three flight-free days can be explained by natural variations in cloud cover, rather than the absence of planes."

<comment><USER23> Just imagine how this will get magnified and drive the world nuts when half the things we try to do to tackle climate change end up being plausibly explainable by natural variation. It's already a hard enough problem to solve without natural variance being thrown into the mix.

</comment></comment></comment></comment></comment></comment><comment><USER24> When interpreting statements like "Over all, air travel accounts for about 2.5 percent of global carbon dioxide emissions", keep in mind that air travel emissions are higher impact due to occurring in the upper atmosphere. The commonly established multiplier is 2.7X [0].

So while the claim is 2.5% of global co2 emissions, in terms of impact it's more like ~6.7%.

And _growing_ , largely just so people can take selfies in different places, which are then used to promote more travel via social media.

We need to tax fuel used for international air travel. The Chicago Convention [1] may have made sense in establishing the industry but we're well past that point now. Make this high-speed, high-impact transportation method high-cost so it's used less frivolously.

[0] [https://en.wikipedia.org/wiki/Hypermobility_(travel)](https://en.wikipedia.org/wiki/Hypermobility_\(travel\))

[1] [https://en.wikipedia.org/wiki/Chicago_Convention_on_Internat...](https://en.wikipedia.org/wiki/Chicago_Convention_on_International_Civil_Aviation)

</comment><comment><USER25> Can't we put some chemicals in the fuel to mitigate the warming effects? Just do it secretly, so the chemtrails people don't freak.

[https://en.m.wikipedia.org/wiki/Stratospheric_aerosol_inject...](https://en.m.wikipedia.org/wiki/Stratospheric_aerosol_injection)

<comment><USER26> Have you learned nothing from the movie "Snowpiercer"?

<comment><USER27> The silly dystopian arguments against climate engineering are facile.

Do you think the first attempt will be done at global scale? No, it will be done first at small scale, and then larger and larger.

There is no reasonable scenario in which we would be surprised by the impact of climate engineering.

<comment><USER25> Especially when using techniques like marine cloud brightening.

[https://en.m.wikipedia.org/wiki/Marine_cloud_brightening](https://en.m.wikipedia.org/wiki/Marine_cloud_brightening)

Imagine if cruise ships and cargo ships had snow machine jets on the back, lofting prepped salt water into the air, to seed clouds.

The problem is that this is geoengineering which means career suicide for interested scientists. At the moment.

</comment></comment></comment></comment><comment><USER28> It is an interesting exercise to ask people to imagine a world without air travel. Where you can't just appear halfway around the world at the drop of a hat. Travel again becomes the domain of boats & trains.

To almost anyone you talk to, banning air travel sounds completely ridiculous. In reality it wouldn't be enough by itself. It's on the lower end of action that is required.

<comment><USER29> Or we invent solar-powered planes. Not feasible yet, but who knows.

<comment><USER30> The planes don't have to be solar powered, just electric. Leave the energy generation to the ground. The next problem would definitely be the weight of batteries though.

<comment><USER31> This might be where the hydrogen could be useful (unlike for cars where it costs too much).

</comment></comment></comment></comment><comment><USER32> What's the tradeoff? How many people aren't driving because flying is cheaper? What is the economic efficiency gained by air travel and how does that translate into emissions?

A cost number without a benefit number is completely useless for real analysis.

</comment><comment> j-pb If I take the train, which is the most green transport (CO2 neutral) from one edge of europe to the other (e.g. Berlin to Sicily), the amount I pay is 500 euros and it takes me 35 hours.

If I fly the same distance it takes me 3 hours, and I pay 100 euros.

Heres the kicker, it costs me 100 euro to buy CO2 compensation and make the flight CO2 neutral, and whenever me and my spouse fly we always pay twice that so that we are actually carbon negative.

So everytime we fly we reduce the earths CO2 by one flight and still have 200 euros more in our bank account.

<comment><USER33> Where do you buy your carbon offsets? What actually happens to the money that you spend on them?

<comment><USER34> For example at atmosfair: [https://www.atmosfair.de/en/](https://www.atmosfair.de/en/)

Their website lists some CO2 compensation projects.

</comment></comment></comment><comment><USER35> Can we start by banning the cruise ship industry first? I cannot think of a mode of transportation and form of leisure that is as useless and ecologically damaging.

<comment><USER36> Well there's a new low-sulphur fuel regulation coming into effect in a few months. [http://www.imo.org/en/MediaCentre/PressBriefings/Pages/MEPC-...](http://www.imo.org/en/MediaCentre/PressBriefings/Pages/MEPC-70-2020sulphur.aspx) That will help with some of the pollution anyway.

<comment><USER35> That doesn't exactly solve the problem of cruise ships dumping raw waste into the ocean.

<comment><USER36> Of all the kinds of pollution, why worry about that? There's way more poop in the ocean already.

</comment></comment></comment></comment><comment><USER25> Just carbon tax it as an externality, so we can get on with life.

</comment><comment><USER37> It's a rich world which can afford constantly having several million of its people sitting in a chair elevated six miles.

<comment><USER38> Deregulation of the airlines put air travel within reach of regular people to the point where it is now a commodity and nobody cares about anything but getting the cheapest flight. Growing up it was unusual for my parents to take a flight anywhere for vacation. Even by themselves. Nowadays it seems unusual for people not to take the entire family even overseas for a jaunt. Which certainly makes our lives richer. Time will tell if we can find a balance to the costs incurred.

</comment></comment><comment><USER39> I work remote and can pretty much be anywhere anytime working. But I try to be content and focus on where I chose to live. To build relationships and deeper connections to the local community. I try to do one trip a year max by plane and when I go its usually for longer periods of time. We should travel less and focus more on the place we call home.

When people tell me they love to travel. I reply why? It's usually I want to get away or I'm sick of where I am now in my life. Try to understand this feeling deeper and think about how you can better structure your life to appreciate the moment and where you choose to build yourself and your community. People also sometimes describe travel as a sort of escape. It's important to try and understand that feeling deeper. Why do you need to escape from your life as it is now?

</comment><comment><USER40> >If you need to travel long distances, there's little substitute for an airplane.

the question if the distance you travel doesn't have substitute. like many business people travel just to meet, which has zero carbon alternative - <USER2> call.

</comment><comment><USER41> Grounding of MAX could have an effect as lots of airlines kept old gas guzzlers flying longer than they planned - or they contracted some shady companies with 30 year old 733s and 734s

</comment><comment><USER42> More efficient aircraft generally means cheaper flights, which unfortunately also means more flights. The efficiency may well make things worse.

I'd actually prefer if air travel was more expensive. It's become expected that you fly groups of people across the continent to business meetings, and some people make regular flights.

</comment><comment><USER43> Any ideas how much of a contributor (domestic) air freight is compared to shipping via train/truck? (Is the volume of goods currently shipped through either method even comparable? This is way out of my realm!)

</comment><comment><USER39> Carbon offsets are completely useless. [https://features.propublica.org/brazil-carbon- offsets/inconv...](https://features.propublica.org/brazil-carbon- offsets/inconvenient-truth-carbon-credits-dont-work-deforestation-redd-acre- cambodia/) there are better ways to protect the environment.

</comment><comment><USER44> Is it more from leisure (maybe due to Instagram vacation sharing, etc.), or business use?

</comment><comment><USER45> Why would people stop flying...?

What, the "solution" is going to be blimp travel, boat travel, undersea super train travel...

Maybe we should make air travel so expensive that only the rich can use it!

</comment><comment><USER46> I haven't gotten around the paywall to read the article but the last stats from the US government I can find, 2017 show that aviation has reduced emissions 7.5 percent compared to 1990.

Medium and heavy truck emissions are UP 89.5 percent in the same period but aviation is the crisis. Passenger cars up 20%.

Let's look at Tg emissions in 2017 Aviation: 174.8 On road vehicles 1,558.6

Source: [https://nepis.epa.gov/Exe/ZyPDF.cgi?Dockey=P100WUHR.pdf](https://nepis.epa.gov/Exe/ZyPDF.cgi?Dockey=P100WUHR.pdf) page 2

</comment><comment><USER47> I'm convinced we need zero emissions aircraft. Efficiency improvements alone are going to suffer from the Jevons Paradox. In fact, that "paradox" could help explain why air travel emissions have increased so much even as aircraft have gotten much more efficient. [https://en.wikipedia.org/wiki/Jevons_paradox](https://en.wikipedia.org/wiki/Jevons_paradox)

So to avoid the Jevons Paradox, we need actually zero emissions aircraft. Battery-electric or possibly hydrogen are the main contenders, here.

Battery-electric in the near term is limited to about 1000km, maybe 2000km range. That's technically enough to do transatlantic crossings if you stop by Greenland and Iceland or possibly the Azores. And you could do transpacific by following the Aleutians. Pretty much the hardest place to visit is actually Hawaii. But for domestic flights, battery-electric is actually a superior option to high speed rail in the US. Typical HSR routes in the US are only about 300 miles or so, well within range of existing electric battery tech that could be adapted to airplanes, and even a fully subsonic, Mach 0.5 propeller-drive electric airplane would be much faster than even the fastest practical HSR. And operating at high altitude (with far lower air density) would mean that the electric aircraft would be more efficient than a hypothetical Mach 0.5 high speed train. But all of this will require probably non-traditional aircraft makers. The duopoly is culturally unprepared for the kind of radical engineering necessary to make a 1000km battery electric aircraft feasible (almost sailplane-like efficiency, combined with very high battery mass fraction, combined with extremely efficient battery packaging, state of the art structural mass, and transition to higher performance chemistry where possible).

Liquid hydrogen is also a possibility for electric air travel. Compressed room temperature hydrogen is hardly more energy-dense than battery-electric, though, so you're going to have to go at least cryogenic, if not liquid, for hydrogen storage. Liquid hydrogen wouldn't be too bad in this application since the time of storage wouldn't be too long, and the scale would be large enough (if used in a widebody aircraft) that boil-off may not be too much of a problem (besides, you need a constant feed of hydrogen anyway). But a big problem is the fact that anthropogenic high altitude water vapor is maybe even worse (by a factor of 2) for climate change than CO2, so you'd probably want to condense the output. That means using fuel cells and then storing the condensed water on board and doing occasional low altitude dumps (it may even be feasible to store the water for the entire trip, dumping only right before you land) or perhaps freezing the condensate into pellets (small enough to not pose a lethal hazard but large enough to not evaporate on the way down) and then dropping them along the way. So long-haul air is a major challenge.

</comment><comment><USER48> Can't read due to paywall, but does the 2.5% figure include the worse effect high altitude emissions have? I believe the best estimate is a doubling.

</comment><comment><USER49> This is sad to read as the budget airlines are really just taking off.

So many people are just getting to obtain some of their travel dreams and now they have to stop :(

</comment><comment><USER50> I can no longer take any of these articles seriously. The hysteria around climate change precludes the possibility of reasoned rational discourse on the topic, and as such political solutions are all but impossible.

</comment><comment><USER16> There's a cavernous gap between the apocalyptic rhetoric from climate activists and the brittle, ineffective policy they actually promote. If climate activists really believed that climate change were a near-term catastrophic threat, they'd jump on the change to reduce emissions using whatever techniques and technology worked. "Geoengineering? Great! Nuclear power? Great!" \--- that's what someone genuinely concerned about the climate would say.

Instead, climate activists promote a very narrow Utopian vision and work _against_ everything that falls outside this vision. These activists don't _really_ care about the environment: they're using climate activism as a pretext for advancing some Utopian project and putting themselves in charge of how we all live. These people are discrediting all climate science in the eyes of regular people.

<comment><USER51> I'm a climate activist, and I can't control how others act, but I'm in favor of, like you say, anything that works.

The Citizens' Climate Lobby is focusing on a carbon fee and dividend. I'm new to the movement (so take what I say with a grain of salt) but I like what I see so far. We're very focused on one particular legislative approach, not because other things won't help, but because it's hard enough getting legislation like H.R. 763 through congress already, and distractions dilute our precious time and energy. So the CCL is pushing on just this one bill, which we think is the most effective approach for us.

But I'd love to see people work on everything and everything. I just think it's probably most effective for most organizations to focus on a relatively narrow area.

<comment><USER52> The environmental movement has a lot to answer for, for setting back progress of nuclear power by decades.</comment></comment></comment>


Pandora Pop Is Gone Day After IPO - <AUTHOR> http://techcrunch.com/2011/06/16/pandora-pop-is-gone-day-after-ipo/?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+Techcrunch+%28TechCrunch%29 <comment><USER2> This is a _good thing_

One of the lessons people seem to have forgotten from the first bubble is that the opening day "pop" is a manufactured scam by the ibanks so that their insider/selected clients can flip some shares for quick buck. You don't want a pop, a pop is _bad_.

An IPO'd stock actually trading at its priced value a day later is a sign that the banking advisers actually did their job right in pricing it.

</comment><comment><USER3> Pandora is still massively overpriced at $16/share. I reckon a price at $2/share would still be a significant gamble: [http://shortlogic.tumblr.com/post/6586713689/pandora- should-...](http://shortlogic.tumblr.com/post/6586713689/pandora-should-be- trading-at-2-share-tops)

<comment><USER4> That post is skewed and narrow-minded. Pandora is in places most people don't realize, and has growth opportunities the poster is not taking into account.

Remember, there's a big difference between a lifestyle business and a startup. A startup knows how to grow and do so creatively. A lifestyle business has no such inclination, and those involved with such efforts tend to think about other businesses in a narrow manner.

<comment><USER3> Hahaha. That's your argument? "They're in many places and you wouldn't understand why they're so valuable if you have a <scoff> 'lifestyle' business".

How about dishing concrete examples of all these places they're in that's going to make them as astonishingly profitable as they need to be to justify a $2.5B valuation?

<comment><USER5> How about not assuming a company that just IPOed is at the end of its road but instead will continue innovating and finding new revenue streams? They did just raise $200MM after all.

<comment><USER6> I'd be more impressed if they could support themselves after 7 years and didn't need investments and an IPO to stay afloat.

<comment><USER4> Actually they've been previously profitable but keep putting money into expanding the business.

</comment></comment></comment></comment></comment></comment><comment><USER7> I don't think it is too surprising. They are bleeding cash and will someday have seriously stiff competition from at least Google, Amazon and Apple.

I do hope they do well; I really enjoy Pandora. But it has been an uphill battle for them to get this far, mostly because content owners are regressive- minded. And the battle will only get a lot more difficult as competition arises in the near future.

<comment><USER8> Pandora isn't bleeding cash.

<comment><USER7> "Pandora is by far the leading Internet radio service, with 80 million registered users, but it has yet to earn a profit and nearly half of its revenues go toward paying royalties to be able to stream music, fees that are set to escalate over the next four years. It had losses of $328,000 in the nine months ending Oct. 31."

From an article dating Feb 14th, this year:

<http://www.variety.com/article/VR1118032185?refCatId=1009>

And from the Reuters story from yesterday:

"Chief Executive Joseph Kennedy said there was no timeline to turn a profit, though a larger audience should eventually attract advertising dollars."

<comment><USER8> If you consider losing $328,000 in nine months while posting $90M in revenue to be "bleeding cash", I suppose you're right.

</comment></comment></comment></comment><comment><USER9> No pop does not = bad IPO. Pandora raised more capital than intended as the final IPO price of $16/share was about double that of the initial target IPO price range of $7 to $9. The lack of stock price volatility in the market is often a good thing as it allows the company a clearer picture of its capital base.

<comment><USER10> Pandora didn't get any of that "pop" capital. It went to investors who were able to sell on the first day.

</comment></comment><comment><USER11> Pandora replaces radio, and their music genome is pretty amazing and extremely hard to reproduce technology.

Look at related stocks like Clear Channel, Sirrius/XM, etc.. <http://www.google.com/finance/related?q=PINK:CCMO>

</comment><comment><USER12> From the title, I thought the shareholders had demanded they stop playing pop music...

<comment><USER12> (That was not a joke. At least to me, "pop" in connection to a music company does _not_ make me think of stock prices.)

</comment></comment><comment><USER13> these lackluster IPOs can truly be put on the backs of their financial partners

timing matters. the investment banks are taking companies public in a new downturn in the markets that could last a while. they should have gone public a year ago, when markets still had plenty of easy upwards momentum

what happened to pandora? greece. sorry, macro still matters. people get scared by big stories, they put their money in treasuries

</comment><comment><USER14> I find if I run Pandora in a browser that has e.g. AdBlockPlus on it, I don't get ads. Given that, how can they possiby be making any money on me?

<comment><USER15> I get ads in the audio stream on my phone.</comment></comment>


Groupon Rethinking the Timing Of Its IPO - <AUTHOR> http://mashable.com/2011/09/06/groupon-ipo-2/

<comment><AUTHOR> [http://online.wsj.com/article/SB1000142405311190453740457655...](http://online.wsj.com/article/SB10001424053111904537404576554812230222934.html)</comment>


I was wrong - <AUTHOR> http://appcubby.com/blog/i-was-wrong/ <comment> k-mcgrady No offense to the OP but the customer reaction seems obvious. I've thought about doing this with my apps before and then thought about how I would feel as a paying customer if the developer suddenly thrust ads upon me and asked me to pay to remove them again (or didn't give that option). If you want to put ads in an app people have paid for the only real solution is to release a separate "lite" version with ads. It might not seem like the best decision for your business but it's better than pissing off the people that cared enough to pay for your app in the first place.

<comment><USER2> What if you're only going to potentially piss of a percentage of a percent of your users? In the OP's case this seems to be the case.

<comment><USER3> What techniques would you suggest for determining that percentage ahead of time?

</comment></comment></comment><comment><USER4> It seems like you're still making a lot of decisions without knowing why. You know what they say about assumptions...

Without analytics data you really have no idea if this is a positive, negative, or neutral change. The vocal minority of complainers are loud in the consumer software world. They are one of many signals to help make product decisions, but should not be considered authoritative.

Get real analytics data and trust it within the appropriate level of significance.

<comment><USER5> Agree. OP is trying to be noble by not having analytics, but then you're making decisions in the dark without data. Either code your own analytics, or pick the best platform for you. "None" is not a viable option.

</comment></comment><comment><USER6> We're here for you buddy! we started Keen IO specifically to address gaps in analytics for mobile. it's easy to record those user interactions with our iOS SDK. And it's free for small apps like yours. if you want to chat analytics, let me know.

Thanks for sharing your story. I don't think failure stories get shared enough!

</comment><comment><USER7> I added AirPush to one of my free apps, and triggered a firestorm of one-star reviews. After pushing an update that removed AirPush, several users actually took the time to go back and revise their one-star review up to 5 stars.

Never underestimate the passion app users have about ads. I suppose a lot of us devs have learned this lesson the hard way.

</comment><comment><USER2> >I don't have analytics in Timer since I've had a hard time finding a good analytics provider that doesn't do shady things with the data they collect

Check out Parse. They aren't an analytics provider. They provide a generic backend API that you can use with your apps to store and fetch whatever data you desire. For the number of user's you're probably working with, and the number of events you'll want to log, you will most likely stay under their 1,000,000 free requests per month (and if you don't, the $200/mo expense will probably be acceptable to you given your app's monthly revenue).

>If Apple provided a reliable way to determine who had already paid, I would have just automatically disabled ads for people who had paid.

Two things here: first, you should have only shown the adds to new users. That would have been the safest play to avoid backlash from existing users. Second, this is why it's a great idea to track "firstLaunchDate" in the NSUserDefaults in 1.0 versions of your future apps. With that single piece of information you would have been able to target exactly who sees the adds and who doesn't.

Edit: I wanted to add I think you _might_ be making a mistake backing down at this point. It seems that all of the problems you mention in this post relate to some small (yet vocal) percentage of your existing users being upset with the recent changes. That's a temporary problem, and probably not that big of a deal at this point since you've already absorbed the majority of the backlash you're going to get. If you think the changes you made in your latest version are the right direction for your product in the long run, then I'd stay the course.

<comment> k-mcgrady > Edit: I wanted to add I think you might be making a mistake backing down at > this point. It seems that all of the problems you mention in this post > relate to some small (yet vocal) percentage of your existing users being > upset with the recent changes. That's a temporary problem, and probably not > that big of a deal at this point since you've already absorbed the majority > of the backlash you're going to get. If you think the changes you made in > your latest version are the right direction for your product in the long > run, then I'd stay the course.

I completely disagree with this. It might work as a business decision but it could cause problems in the future, especially if these early paying customers are vocal or previously bought your other apps. I think if a more popular/downloaded app did this (thrusting ads on paying customers) the backlash would be huge and it would severely damage the companies reputation. Just because you are a smaller business less likely to get press coverage for a bad decision doesn't give you a free pass to make it anyway.

<comment><USER2> I understand your perspective, but: the OP stated that he only sold the app for .99 cents before making it free during the summer. So 2 of 7 months before becoming free. But apps usually get at least 10x more downloads when free. So to calculate what percentage of his user base _might_ be affected by the additions of ads when they have already paid: 2 / (2 + (10 * 5)) = _3.8% of his user base_. That's his historical user base, not his retained user that is still using the app. OP's estimate for user retention is 3%. The number of his total users that will be affected is: 3% of 3.8%. 0.11%. If this app was downloaded 10,000 times since launch we are talking about 11 people - half of which have already posted their negative reviews to iTunes and the other half... doesn't really care either way.

As an app developer myself, I _do_ care about my users. If a significant number of people will be negatively affected by a change I'm considering, I simply won't do it. It's just about where you draw the line. Is your stance that if even one person is affected in this way then it is unacceptable to make the business decision to shift to ads?

</comment></comment></comment><comment><USER8> > Developers dream of that kind of tap through rate because it generally means > more revenue, but I wasn't charging for the ads, so the tap through rate > didn't impact my bottom line at all.

Why include advertising if you're not charging for it?

</comment><comment><USER9> Good on ya, mate. Not only issuing an apology, but taking positive steps to make things right. If only more people had that strength of character.

Now if I could just get you to reconsider releasing GasCubby for Android... :)

</comment><comment><USER10> I totally get the annoyance of previous paid users. But man, the irrational nature of human psychology around price and paying for things beggars disbelief. For anyone that owns an iPhone 99¢ is truly a pittance.

People's feelings about what is fair totally overwhelm any sense of proportion or of what's at stake in a given situation.

</comment><comment><USER11> I have added ads to formerly ad-free apps, but I always, always make the ads conditional on whether the user is a new downloader or an updater in these cases. This is not that hard to do, and it is not worth upsetting existing users to get those extra ad impressions.

</comment><comment><USER12> I'm confused as to why he'd do this. It's trivial to set a flag saying if they launched it or a date first installed. Why give ads to people who paid?

On the other hand, I feel for the dev, as the reviews are also absurd. The ad took up 1 of 15 timer spots. It was hardly obtrusive. I know the feeling though. I've had tons of 1 star reviews in a free app I put ads in (only to new free users mind you) just because it has ads in it. IT'S FREE you entitled jerk. Yet nobody pays the .99 to remove the ads.

</comment><comment><USER13> as a user who paid for this app, I'm quite frustrated with the update. this greedy decision takes up screen real estate which I used for one additional timer and the grid layout was one of the main reasons why i paid for the app.

i just hope he reverses all this changes as i'm not paying for additional sounds, themes or whatever other vanity ad-hoc app.

</comment><comment><USER14> > _had a hard time finding a good analytics provider that doesn't do shady > things with the data they collect_

And where did his ethics go when he decided to stick ads in the app?

<comment><USER12> Really? Putting ads in an app is somehow unethical?

<comment><USER15> Of course it is.

It's not just "putting ads" it's linking with 3rd party ad libraries that can do whatever the hell they want under the umbrella of this dev's app. How is this even remotely better than letting some other 3rd party gather app's usage data? It's absolutely the same shit, only sideways. If he had a problem with latter, recognizing a problem with former should've been a no-brainer. Except if there wasn't some money involved.

<comment><USER12> Of course? Really? Maybe if you think there is a problem with the analytics then it is a problem, but there are clearly lots of people who don't have a problem with the analytics. I personally don't have a problem with either as both a user and a dev. To say that ads are unethical without even any discussion strikes me as absurd.

</comment></comment></comment></comment><comment><USER16> you can not please everyone. some users can give you a one star review simply because of a minor bug or missing feature.

do what is good for your business.

</comment><comment><USER17> as a side note, appboy does some great analytics without using udid</comment>


Ask HN: Facebook down and police complaint. How people think about FB? - <AUTHOR>

I saw a tweet https://twitter.com/LASDBrink/status/495246980075900928 from Sgt. Burton Brink about Facebook shutdown. What people think about facebook? Will they think same manner about Google, Whatsapp and other popular sites. <comment><USER2> "How people think about FB?"

They think about it with their brains. Brains are the ONLY part a human CAN use to think about ANYTHING. And if this wasn't what you were asking, maybe you should learn what the fuck the English word 'how' means, because apparently you just don't get it.

Damn foreigners, don't you have your own language to abuse?

<comment><USER3> Yeah, your abuse as reaction will help great...</comment></comment>


Untapped Knowledge Calculator for the uk - <AUTHOR> http://www.knowledgecalculator.co.uk The untapped knowledge calculator is based upon a formula devised by Frank T.Smith, Professor of Applied Mathematics at University College London. The formula takes into account a number of different factors including the population of your region, income, lifestyle, educational status, travel, internet consumption, and employment... <comment><USER2> It's like informercial spam but for getting engagement, people love to do surveys don't they ...

The site "videojug pages" appears to be across between a wiki and a maker site like Instructables or makezine or what have you.</comment>


Ask HN: Version numbers in a REST API - <AUTHOR> I'm in the final stages of designing a REST based API for my SaaS billing site, but I'm stuck debating whether I should include a version number (/1/clients/list) or not (/clients/list).<p>Obviously the latter is far cleaner and simpler, but am I shooting myself in the foot by leaving out the version number? <comment><USER3> Actually, I think best practice is to not put the version number in the URI at all. Instead versioning should be handled via content negotiation. That is to say, a client specifies the type of resource they want back via the Accepts: header, and that resource is versioned. So A request would look something like:

GET /client

Accepts: application/vnd.clientlist.v1+json

And they would get back the version 1 client list response. If they want v2, etc, they can specify a different content type (clientlist.v2+json, etc). Also note, that putting verbs in your URIs is counterintuitive. The verb for a REST operation is the HTTP method (GET, POST, PUT, DELETE). The URI should simply represent the resource being retrieved. An argument can be made that the client list is the resource, but in reality listing things from a REST API is a first class concept and shouldn't need separate URIs. It's simply a request for a specific resource type without qualifying it by asking for a single instance of that resource. So, GET /client would return all clients (can add query parameters for pagination, etc), GET /client/834 would return a single client resource.

See also: [http://roy.gbiv.com/untangled/2008/rest-apis-must-be- hyperte...](http://roy.gbiv.com/untangled/2008/rest-apis-must-be-hypertext- driven)

<comment><USER4> Can I have a few more upvotes please? This is the only way to do it. There's currently two root posts above this one advocating the incorrect way, with versions in the URL.

By doing it this way, you don't break links when you want to bump versions. Or if you have a single resource with an incompatibility, you can just upgrade the version of it, and leave all the others the same, without having to change anything, or your clients having to change theirs, either.

I wrote a blog post about this awhile back, please see point #4: [http://blog.theamazingrando.com/your-web-service-might- not-b...](http://blog.theamazingrando.com/your-web-service-might-not-be- restful-if) (apologies for the formatting, I just imported it to Posterous, and it seems their styles aren't quite right)

Also, a former coworker of mine wrote a series of posts about this topic as well: [http://barelyenough.org/blog/2008/05/versioning-rest-web- ser...](http://barelyenough.org/blog/2008/05/versioning-rest-web-services/) [http://barelyenough.org/blog/2008/05/versioning-rest-web- ser...](http://barelyenough.org/blog/2008/05/versioning-rest-web-services- tricks-and-tips/) [http://barelyenough.org/blog/2008/05/resthttp-service- versio...](http://barelyenough.org/blog/2008/05/resthttp-service-versioning- reponse-to-jean-jacques-dubray/)

<comment><USER5> Isn't the point of bumping version to signal incompatible API changes? In that case breaking links is probably a better solution.

</comment></comment></comment><comment><USER6> Please namespace your URLs by a version, such as "v1" (not just "1", which looks like a resource ID). If anything, this will motivate you even more to maintain backwards compatibility when you update your API, since there is nothing more infuriating to a developer than waking up one day to find an API call has changed (I'm looking at you Facebook).

Namespacing by version also is pretty "clean." Imagine updating your API in the future without the namespace. You'd have to implement the version in some difficult way (for the end developer) such as during authentication or as a request param or cookie or something ridiculous. This all adds complexity to the developers using the API. Its _much_ easier for a developer to just say "The prefix for all RESTful API calls is <http://foobar.com/v1>. No developer will say thats not clean.

So please, put a version number in your API, put it at the beginning, and put it in the "vX" format.

<comment><USER4> No, this is incorrect. If you have versions in your url, then the same client (eg, with ID 1) has two resource identifiers, /v1/clients/1 and /v2/clients/1. In fact, you have the same resource, /clients/1, but multiple versions of the _representation_. There's links further down, the one by Peter Williams in particular, that describes a way to do this using content negotiation and the Accept header.

Updating is easy, just add the representations to the resources that need the newer version (eg, "views" in rails). Updating with a new v2 in your URI means updating ALL your resources, or writing lots of redundant code to route multiple incoming uris to the same resource. This gets unmanageable, fast.

Putting versions in the URI _increases_ complexity, for you, and writers of clients.

<comment><USER7> > Putting versions in the URI increases complexity, for you, and writers of > clients.

Perhaps, but it you have tests for your api you can tell if you break them. Also, there is no reason you need to duplicate code if a section of the api didn't change. You only need to duplicate code if something major changes. Everything else can just be silently routed to the previous version's interface.

</comment></comment></comment><comment><USER8> There are many ways to do it.

From an "academic" point of view, the versioning through http accept headers is considered the "best one".

I'm usually going with a path prefix as nearly everyone else does.

As you probably have a lot of API users that don't know and care about http accept headers (and their connection libraries usually don't either), it might be a lot of PITA to convince them doing it right.

So imho you can use the "academic" solution and hire some API Support stuff, teaching each customer the benefits and ways to access versioned resources — or just use the most obvious de-facto standard like /v1/posts/<id>.

That's why I use this compromise.

In Addition, the http accept header versioning allows you to version on each resource independently. This might be a good thing but usually the whole API changes and not only one resource (change as in incompatible change, not an addition of some attributes)

<comment><USER9> I can't recall a single API I've seen or used that took the academic approach of using HTTP Accept headers. All of the major REST APIs I've seen have used API key X-* headers and most of them use versioned URIs.

It seems there are two REST camps: academics and those who actually write real-world APIs.

<comment><USER10> <http://api.tenderapp.com>. Course, I didn't work on it long enough to need another version :) I think I messed up by using a single version for the whole API. I think it makes more sense to have a versioned mime type for each resource (if that's how you choose to roll).

</comment></comment></comment><comment><USER11> We also just had to research this as well for our API. Our solution is based on this - [http://stackoverflow.com/questions/389169/best-practices- for...](http://stackoverflow.com/questions/389169/best-practices-for-api- versioning)

This would always point to the latest API version: _api.example.com/clients/1/posts_

If you want a specific version you do this: _api.example.com/v1/clients/1/posts_

Since we're using ASP.Net MVC we could register a 'route' which points api.example.com/ to the API v1 code. Then when /v2 comes out we just point it to that and v1 is still available.

<comment><USER12> I'm not sure how I feel about that. Then you're going to be ok with making backwards-incompatible changes, but a lot of people may change to them immediately because they're not using the versioned url.

If you were to go that way, I would recommend strongly encouraging developers to use the /v1/. "It's 3 extra characters to make sure that your app doesn't break one day because we upgrade the API." Obviously, you probably should make backwards-incompatible changes infrequently and only after communicating well with your developer community--otherwise developers will feel like they can't keep. But still, some people will miss the announcements or not have time to adapt in time.

<comment><USER11> You're right, but this is the side effect of 'releasing early' and responding to custom feedback. You're usually safe to make drastic changes when its just the web application but APIs are a different story. The world of APIs is about stability and backwards compatibility, but sometimes this just isn't possible. If you remove a feature or drastically change how something behaves then it isn't possible to make it backwards compatible. If it is a drastic enough change then even the version numbers won't save you. Perhaps you completely changed how some data is persisted or queried. Its really hard to justify keeping old/broken things around when you probably just wrote and released that a month ago and now you've taken a different approach.

In the end, it seems how APIs are versioned and supported completely depends on the maturity of your product. I imagine that eventually you want to get to the point where you're only adding to the API and not removing or reworking entire calls. And perhaps then you won't need the version numbers at all. But for now, they might be your only safety-net for your customers.

</comment></comment></comment><comment><USER13> Uh, difficult topic.

I did the same research some months ago and didn't find "the" solution or answer to this question.

Linkdump from my bookmarks to this topic:

Discussion: [http://blog.sonoasystems.com/detail/one_size_doesnt_fit_all_...](http://blog.sonoasystems.com/detail/one_size_doesnt_fit_all_api_versioning_and_mediation/) [http://stackoverflow.com/questions/389169/best-practices- for...](http://stackoverflow.com/questions/389169/best-practices-for-api- versioning) [http://stackoverflow.com/questions/2024600/rest-api- versioni...](http://stackoverflow.com/questions/2024600/rest-api-versioning- only-version-the-representation-not-the-resource-itself) [http://stackoverflow.com/questions/972226/how-to-version- res...](http://stackoverflow.com/questions/972226/how-to-version-rest-uris) [http://stackoverflow.com/questions/278686/versioning- restful...](http://stackoverflow.com/questions/278686/versioning-restful- services) [http://stackoverflow.com/questions/1679322/web-services- api-...](http://stackoverflow.com/questions/1679322/web-services-api- versioning) [http://stackoverflow.com/questions/2101566/what-are-your- web...](http://stackoverflow.com/questions/2101566/what-are-your-webservice- versioning-best-practices) [http://barelyenough.org/blog/2008/05/versioning- rest-web-ser...](http://barelyenough.org/blog/2008/05/versioning-rest-web- services/)

Examples: [http://docs.amazonwebservices.com/AWSEC2/latest/APIReference...](http://docs.amazonwebservices.com/AWSEC2/latest/APIReference/index.html?api- versioning.html) [http://atlas.resources.ca.gov/ArcGIS/SDK/REST/versioning.htm...](http://atlas.resources.ca.gov/ArcGIS/SDK/REST/versioning.html) [http://groups.google.com/group/twitter-api- announce/browse_t...](http://groups.google.com/group/twitter-api- announce/browse_thread/thread/2b70bd6ea4aec175?pli=1)

Hope this helps a little bit.

<comment><AUTHOR> Wow, I guess I got to work on my research skills a bit more.

Spent the last two hours looking for suggestions but didn't find half of what you just posted (probably because I was missing the key word 'versioning')

<comment> the-kenny What would be the problem of including a number? one more (static) segment in the url. Just do it, if it makes (or will make) your life easier.

However, I would name them "v1", "v2" etc. That makes the purpose of the number clear.

</comment></comment></comment><comment><USER14> Hmm.. I don't really see the need for versioning in REST APIs. Webapps don't have versions, because it's smarter to just push small changes continuously. Your API maps functions in this changing application - keeping an old API around isn't like keeping an old version of Word around. If the app changes so a given API call won't work any more, it won't magically keep working because of versioning...

It doesn't add much value to give users a /v2/ to call, if it's not because that /v2/ will keep working independently of changes to the app. If it stops working some time because you're changing your app, you'll still have to inconvenience your users by pulling an old version out of production. On the other hand, there's no point in forcing users to upgrade to a "new" API, if the new API doesn't do anything the old one didn't.

No reason you couldn't just deprecate what will stop working on a method-by- method basis instead. If you pair it with application-keys, you'll know which users are using the methods you're about to deprecate and talk directly to them about transitioning away.

When something less radical changes, you can add new parameters and add new fields in the response just fine, without invalidating the old version - <USER2> if you can't, add a new method, e.g. /clients/list_with_invoices/ as the new version of list.

<comment><USER15> Yea having to version a "REST"ful api usually means its a was not very restful in the first place . Meaning the api is not hypertext driven and is probably a rpc style api with meaningful urls. If it was hypertext driven it would all be transparent to the consumers , it could be v2 or foobar , doesn't matter .

</comment></comment><comment><USER16> I like the approach that Peter Williams has suggested. That is to use a vendor MIME media type in the Accept header to specify a required API version. At least your URL stays the same. As it should be, because your resource is still the same.

[http://barelyenough.org/blog/2008/05/versioning-rest-web- ser...](http://barelyenough.org/blog/2008/05/versioning-rest-web-services/)

</comment><comment><USER17> How about putting the version number in the hostname?

<https://api-v1.xxxy.com/clients/list>

I believe its a little neater than /v1/clients/list, albeit a little less standard.

</comment><comment><USER18> You should incorporate the API version.

      - you're developing a service would typically be a core part of your client's businesses
      - the API will almost certainly need be revised after you release it
      - even if you choose not to support deprecated versions, you will need to give your clients enough time to switch
      - that means that there will be periods where at least two versions of the API will be live
      - and both versions will need to be live on their final endpoints

</comment><comment><USER12> Definitely do it. Having the "/v1/" (I agree with the comments that the v is better.) is still plenty "clean". No one is going to say "well, I was going to write an awesome app with their API, but those 3 extra characters to make sure my app doesn't break made it too much of a pain."

Also, think about rolling-out backwards-incompatible changes otherwise. People want their apps to work immediately before you roll out the backwards- incompatible changes and immediately after. This means that for a period of time, you're going to have both up as they do the transition. (Your only other option is to say "at exactly 8:00 PST we're going to make the change. So deploy your changes that adapt to the change at exactly that time so you don't have downtime.) It's a lot cleaner to use versions and have them switch their urls from /v1/ to /v2/ whenever they feel like it. Otherwise, what are you going to do? You need api.yoursite.com to stay the old version so you don't break apps that haven't switched yet. So you'd have to do something ugly like have people switch to new.api.yoursite.com to get the newer version. Then, once you've disabled the old version and had api.yoursite.com, you have to get everyone to switch back to using api.yoursite.com because pretty soon, new.api.yoursite.com is going to be the following version. (Or you could make that version newer.api.yoursite.com, and then the next one newest.api.yoursite.com, and then you're really screwed when you need the next version.)

Basically, the cost of versioning your API is very low, and the potential headache of making backwards-incompatible changes without it is huge. Just do it.

</comment><comment><USER19> If you're not sure how you want to do this, you could always wait until you need to implement version 2. You would then be forced to have omission of a version number indicate version 1, but waiting would allow you to make the decision when you're actually ready to begin implementation and might have a better idea or more information about how you want to approach it.

</comment><comment><USER20> Use versions like /v1/ .

If there's no version... * If there request is plain html then deliver a human readable documentation page (that still has hyperlinks for discoverability. * If the request is asking for whatever your application type is, redirect to the current stable version.

If there's an older version requested: * If it's no big whup, keep the old version usable. Sometimes I do this by just keeping the old version of the resource code around, sometimes by updating it to translate between the old version and the latest stable version. * If you want to kill an old version, think about what appropriate in terms of 300 Multiple Choices, 301 Moved Permanently, or 410 Gone relative to your users.

</comment><comment><USER21> Just put a version number in the API root -- it really doesn't matter where. <http://api.mysite.com/1/> , <http://api.mysite.com/?version=1> , etc, anything will work. In fact, you can support multiple styles easily.

Since it's REST, clients shouldn't be hardcoding any URLs aside from the API root. Therefore, if you think a version is ugly, you can make the sub-URLs unversioned for now and version them later if needed.

</comment><comment><USER22> I had the same problem when designing a REST API a while ago. After reading lots of documents on REST philosophy I decided that no one _really_ knows what REST is and there is no precise answer.

In our case, we decided to go with the version number in the API (I don't think it matters if you use "1" or "v1"), because we wanted to be able to easily route requests to various API versions in the future (using load balancers). But it's more a matter of taste than a hard technical decision.

</comment><comment><USER23> Make sure you can easily route requests for a particular version to a different back-end server.

If you in the future decide to write the next version of your webservice using a different technology (e.g. going from python to node.js or whatever), you want your front-end server (e.g. nginx) to direct the traffic to the correct back-end without too much trouble.

</comment><comment><USER24> See this conversation on SO: [http://stackoverflow.com/questions/2024600/rest- api-versioni...](http://stackoverflow.com/questions/2024600/rest-api- versioning-only-version-the-representation-not-the-resource-itself)

</comment><comment><USER25> How about /version that your client can GET and see which is expected/required/supported?

</comment><comment><USER26> You can also negotiate the version number in the HTTP header:

      X-protocol-version: 3

That way you don't need to pollute the address space.

<comment><USER17> Maybe, but what do I do if the header is missing? Use the latest version?

If I use the latest version it is likely developers will simple leave the header out since it "Just Works" without it.

Then when I make a breaking change to the latest API those applications will get screwed. Yes its mostly their fault -- but its my problem.

<comment><USER27> personally I would put the API version as an argument to the URL and I would make it a requirement. Most developers likes strict requirements, no developer likes surprises either.

/api/getstuff?v=1.1&arg1=x&arg2=y

If the version isn't there just return a useful error.

The only downside to this is that it's slightly more difficult to do analytics on the URL requests coming in.

<comment><USER28> The #1 danger to your API's usability is the half-assed implementation a 3rd- party will release to the public without your prompting or involvement. Don't let that happen. Take initiative and release libraries for as many languages and frameworks as you can, or risk the danger of being sabotaged by someone's indifference, or most likely incompetence.

You can't believe how many time I have had problems with an API just to discover the 3 year old client library was using some "sensible defaults" for required arguments.

</comment></comment></comment></comment><comment><USER29> You can also embed the version number in the API call itself, using a default if not passed or auto detecting based on what is passed.</comment>


Most Asked Programming Languages on StackOverflow 2008 – 2020 - <AUTHOR> https://www.youtube.com/watch?v=FZoLXYKv3dE <comment><USER2> Perhaps the "least asked" are languages that are well understood, confortable to work in and have voluminous information available. AND The "most asked" are idiosyncratic, poorly understood and have limited resources and useful documentation.</comment>


Native Modules for React Native - <AUTHOR> https://blog.theodo.com/2020/04/react-native-bridge-module/ <comment><AUTHOR> Trying to demystify building Native Modules for the current React Native bridge architecture. What changes do people anticipate with the re- architecture this year?</comment>


Mozilla Is Crowdsourcing Research into YouTube Recommendations - <AUTHOR> https://foundation.mozilla.org/en/blog/mozilla-crowdsourcing-research-youtube-recommendations/ <comment><USER2> What's impressive to me is that YouTube Recommendation are so ... stale. All it recommends to me is content from the same 3 categories, and the same videos over and over and over (you would think if I didn't click on the suggestion in the past 6 months it would adjust).

Now the topics it recommends to me are non-political, but I can very well see that if you fall down one of more extremist rabbit holes thats all you will be fed on your recommendation page for months.

<comment><USER3> I use YouTube infrequently. Usually for binging random content like comedy sketches or speedrunning. No matter what I'm on, there's always a few videos in my recommendations that make no sense and look like trash. Not generically, but specific videos that ALWAYS appear. One of them is "I PAID FIVE BASSISTS ON FIVR TO PLAY AN IMPOSSIBLE BASSLINE"

...

Why is this so bad? What are your hundreds of data scientists doing?

<comment><USER4> They stop appearing if you specifically mark them as not interested

<comment><USER3> I do this, and it does work, but it doesn't seem to learn that I don't want to see generic youtube garbage.

I'd love for it to learn that anything with a shocked face thumbnail and CrAzY question for video name is not desired.

<comment><USER5> Shocked face or a big red arrow pointing to something in the thumbnail make the video an instant pass for me. It would be amazing if YouTube's algorithm could recognize that.

</comment></comment></comment></comment></comment><comment><USER6> Couldn't care less about this. Just put out a paid version of Firefox that dedicates this revenue stream exclusively to continued Firefox development and I will happily pay fist fulls of money for it. Seriously, Firefox adds so much value to my life and I'd happily pay for it.

<comment><USER7> [https://donate.mozilla.org/en-US/](https://donate.mozilla.org/en-US/)

<comment><USER8> I think the "exclusively for Firefox development" is pretty important. Mozilla is doing a lot of random things these days

<comment> Funes- >Mozilla is doing a lot of random things these days

Yeah, like paying three million to its CEO annually. That's _not_ going into Firefox development alright.

<comment><USER9> The one who no longer works there? And how do you think they would build and manage a development team without executives?

<comment> Funes- >The one who no longer works there?

As far as I know, Mitchell Baker is still Mozilla's CEO. And even if she resigned, maintaining her salary would have been at odds with keeping many employees from being fired.

>>I criticize _unreasonably high salaries_ on a nonprofit organization that just laid off almost three hundred people

>"you are saying that they can build and manage a development team _without executives_ "

If you want to engage in a discussion or a debate, at least be honest about it.

<comment><USER9> Mitchell Baker began as CEO in December, after the resignation of Chris Beard. Was permanently appointed CEO in April. Her salary for the position has not been released

Mozilla is a nonprofit, not a charity. Their executives already receive less than market rate for similar companies, by some accounts far less. They can't offer nothing.

</comment></comment></comment></comment></comment></comment></comment><comment><USER10> Semi related: there's a browser plugin[1] available to "de-mainstream" Youtube. It removes from recommendations the well known channels of the big name media brands[2]. You can add more to the list.

\--

[1] [https://demainstream.com/](https://demainstream.com/)

[2] [https://github.com/miscavage/De-Mainstream-YouTube- Extension...](https://github.com/miscavage/De-Mainstream-YouTube- Extension/blob/master/lib/js/background/channels.js)

<comment><USER11> This works pretty well (I use it) because it removes recommendations and search results (which are really recommendations) that are artificially inserted/ranked at the top every single time.

That said I don't think it's what Mozilla and many commenters here are looking for, they're looking for banning content they disagree with (i.e. censorship).

<comment><USER12> > they're looking for banning content they disagree with (i.e. censorship).

That's an extremely unfair read of the situation. The extension doesn't even ban anything. It is a research project attempting to understand why the YouTube algorithm recommends the videos it does. Whether or not you think Plandemic (a nonsense conspiracy theory video) should be banned or not you can still see research into the YouTube algorithm as a worthwhile endeavour.

<comment><USER13> Literally the first sentence of the article is about dangerous recommendations. And the second is about harmful content.

This is not just an open-ended inquiry of what youtube is recommending. It's about finding the bad and getting rid of it.

EDIT: I also want to remind people about how Mozilla used its push notifications to call for a Facebook boycott over objectionable content.

<comment><USER12> > YouTube recommendations can be delightful, but they can also be dangerous. > The platform has a history of recommending harmful content — from pandemic > conspiracies to political disinformation — to its users, even if they've > previously viewed harmless content.

What part of this is untrue?

And again, you're saying "getting rid of it" without evidence. It's a study. It does not mention banning anything, anywhere. If the argument is that they should not study this because it might lead to bans in the future then you're being pro-censorship in order to promote anti-censorship which doesn't make a whole lot of sense.

<comment><USER14> > What part of this is untrue?

The characterization of pandemic conspiracies and political disinformation as harmful.

It's like kids and allergies. You never hear about kids who grew up on farms being allergic to animals - it's always those whose parents didn't have any when they were growing up.

If people aren't subject to misinformation, they'll never develop the sense of who's lying and who isn't.

It used to be that we gave common-sense advice - "don't believe everything you read on the Internet". Now, it's the other way around - "we must cleanse the Internet of harmful content".

Being exposed to misinformation is good for you, and it's good for democracy.

<comment><USER15> "I never heard of it happening, so it is universally true that it _never_ happens."

Meanwhile, the actual state of affairs is[0] that there's one allergic farmer child per three allergic non-farmer children. Don't believe everything you read online.

[0]: [https://pubmed.ncbi.nlm.nih.gov/11048766/](https://pubmed.ncbi.nlm.nih.gov/11048766/)

</comment></comment></comment></comment></comment></comment></comment><comment><USER16> A few months ago YouTube was flighting a feature I liked a lot. The homepage would group my interest into named categories "Cute dog videos", "Strangeloop", "Debussy", "PyData", "Algebraic Topology" and so on. I really liked that because I could choose which deep end to sink into. Not just that it would also serve as a reminder on what I had been interested in, but have become too distracted to remember.

They seem to have stopped this and now the recommendations featured on my homepage are all over the place.

<comment><USER17> I'm pretty sure they're still testing that feature. I see it show up occasionally.

Interestingly, I think there are a couple of variants for the number of videos to display on the home page, too.

<comment><USER16> How can I get myself on the better side of their A/B test ?

<comment><USER17> Unfortunately, I don't think there's any (public?) way to force it. I've seen the feature disappear or reappear on a reload -- it's not consistent across a session, let alone on a user-by-user basis.

Try refreshing the home page until it shows up, maybe?

<comment><USER18> At youtube.com/new, they say you can opt-in to experiments if you have premium, but I don't have premium and am not sure if that is one of the options.

</comment></comment></comment></comment></comment><comment><USER19> I'm always mind-blown reading comment threads like this regarding recommendation, with people annoyed that explicit feedback helps recommenders, or exasperated that they're recommended one item that they haven't approved while also wanting novel recommendations.

1000s of hours of videos are uploaded every minute. 5+ billion videos are watched daily. Are you not rather quite pleased that YouTube can deliver highly relevant top-20 recommendations within milliseconds from such a large and changing corpus, while keeping track of your past preferences, your interactions, your social circle's preferences, popularity and trends, content features, etc?

It's pretty amazing to me. I think people expect recommender systems to read minds.

<comment><USER20> Consider that a lot of the complains are that YouTube constantly recommends already watched videos, instead of new and relevant ones. Then, if a user watches a single video on a topic outside of their usual interest scope, YouTube replaces any semi-relevant recommendations with with that new category, regardless of if the user is actually interested in the topic.

<comment><USER19> > Then, if a user watches a single video on a topic outside of their usual > interest scope, YouTube replaces any semi-relevant recommendations with with > that new category, regardless of if the user is actually interested in the > topic.

That's the way it used to work, now it adds that new category to the list of categories it thinks you like (top of the home page), and you can filter or include that category.

</comment></comment></comment><comment><USER21> YouTube recommendations, for me, are the greatest music discovery resource. I've found more new artists through YouTube's algorithm than Spotify, Pandora or Amazon Prime Music.

</comment><comment><USER22> YouTube recommendations suck so hard.

I'm subscribed to all this stuff but it never seems to give me similar content, it recommends all the videos I've already watched.

If I happen to watch something new, like a People's Court segment, then all I see is People's Court stuff.

There never seems to be balance.

Then there's the problem where a new video (like Gourmet Makes from BA) gets posted on a channel I like. I'll watch it with my partner on his machine, but then YouTube just chokes up, wondering why I never click on it, and then shoves it in my face ad nauseum.

Like, their search engine doesn't even seem to scratch the surface of content they're holding. It seems to be really stupid machine learning or AI.

Why can't it show me balanced recommendations from everything I watch or subscribe to, toss in some new things which are similar/popular, and maybe differentiate between content likely to be consumed multiple times (music videos) vs stuff people don't often watch a rerun of?

They seem to have so much data they could work with. They have amazing engineers and Google's expertise in algorithms.

Facebook even had problems with news feed being overrun with low quality content early on but seems to have figured it our fairly well- at least in my experience on the site (I know there are big echo chamber problems over there as well, don't get me wrong).

Even a lot of my non-techie friends seem to complain often about how terrible YouTube's recommendations are.

<comment><USER23> I feels like YouTube's recommendations were better around 2010 to 2015. I think back then they recommended videos based on the tags a video had, seemed to work much better

<comment><USER24> I'm assuming there were less people adding fake tags to earn more views then as well.

</comment></comment></comment><comment><USER25> > recommendations can be delightful

They are really not. I struggle pages after pages to find something interesting. And then days later i stumble on a link that has interesting stuff randomly. Even search is bad. And there's always the knowledge that google is censoring stuff and manipulating people.

There's definitely space for better youtube/video recommendation site.

</comment><comment><USER26> This is what you're gonna do with the money saved from the firings?

<comment><USER27> No. This is the Mozilla Foundation not Mozilla Corp.

<comment><USER28> I don't know why people pretend like the distinction matters.

<comment><USER27> In terms of where money goes, it does. Mozilla Corp both makes and spends vast sums of money (browsers are fantastically expensive).

Mozilla Foundation, in contrast, makes and spends relatively little compared to that. Seriously how much do you think this crowd-sourced project is costing the Foundation?

</comment></comment></comment></comment><comment><USER29> This claims that YouTube recommendations are opaque, but often YouTube cites that viewers of a specific video like another. YouTube also tags content which might be extended to note related or contrasting content or to map how videos that share a tag relate.

</comment><comment><USER30> I previously used my partner's Google account to watch on YouTube and it had built up recommendations based on what I previously watched since I didn't use the subscriptions, but one day it all just disappeared and only showed recommendations from my partner's subscriptions. I'd prefer if they implemented a user driven exploration system rather than attempting to guess what I want but it must be useful to be able to change how it works without modifying the user interface. I eventually gave up and used my own account with now 32 subscriptions and it's better than it was although it shows a lot of videos I've already watched. It throws in a few videos from other channels but it's mostly from the subscriptions.

</comment><comment> awinter-py facebook got muy upset when propublica used a similar approach (browser plugin) to surveil their ads ecosystem

[https://www.propublica.org/article/facebook-blocks-ad- transp...](https://www.propublica.org/article/facebook-blocks-ad-transparency- tools)

</comment><comment><USER31> Am I incorrect in assuming that Mozilla's goal was at one time to expand access of information to the world?

I don't see any other likely outcome of this "research" other than a fresh new media hue and cry detailing chains of "wrong-think" that will lead to activists who masquerade as journalists calling for more content they deem unfit for the plebs consumption.

</comment><comment><USER20> I guess I just don't understand why Mozilla would spend money on this? Google is under no obligation to care about their findings. Why not spend money in areas that will actually benefit people? What do they hope to gain by this?

<comment><USER32> It could build the case internally for them to build something like peertube or support it.

</comment></comment><comment><USER7> Fundamental flaw with this approach. Since I don't click on or watch conspiracy theories, none of my YouTube recommendations are those. But I have seen people watch incendiary and conspiracy theory videos exclusively on autoplay.

</comment><comment><USER33> Was trying to find the source for the extension, looks like the link was in the privacy notice. Github link here for those who are also looking for it: [https://github.com/mozilla-extensions/regrets- reporter](https://github.com/mozilla-extensions/regrets-reporter)

</comment><comment><USER34> Seems silly Why not just build a better (user-configurable) recommendations engine?

<comment><USER3> Over a database of videos they don't own? That changes rapidly in ways they can't control?

</comment></comment><comment><USER35> [https://github.com/mozilla-extensions/regrets- reporter](https://github.com/mozilla-extensions/regrets-reporter)

</comment><comment> hal9000-tng This must be part of Mozilla's new focus on profit.

</comment><comment><USER36> [http://blog.kaleidoscopestoyou.com/tag/how-a-teleidoscope- wo...](http://blog.kaleidoscopestoyou.com/tag/how-a-teleidoscope-works/)

</comment><comment><USER37> I use a ublock filter to block YouTube recommendations. I think they're unhealthy.

<comment><USER38> There are a few good "un-frak your youtube" extensions as well. I've got mine set to disable autoplay, trending, chat, "related" at the end of video playback, and recommendations. Helps quite a bit.

</comment></comment><comment><USER11> Crowdsourcing censorship!

</comment><comment><USER39> I'm sorry, but the crowd has run out of money. Try the people that print and take it.</comment>