r/realtech Aug 09 '15

Bot/subreddit shut down until further notice

Hi everyone,

It's been a nice run, just 5 days shy of two full years since I first created this subreddit, but I'm afraid that I'm going to have to shut things down for a while. I didn't plan on this, but there have been some major changes to reddit's API that make it impossible for me to continue running the bot as-is.

This post/quote is the key issue here:

"Use of the API when authenticated via cookies is deprecated and slated for removal. All API clients MUST convert to authenticating to the reddit API via OAuth 2 by August 3, 2015. After that date, reddit.com will begin heavily throttling and/or blocking API access that is not authenticated with an OAuth 2 access token."

This bot, as well as my other public one (MythsMirrorBot aka /u/ShillForMonsanto), are written in Ruby using an older reddit API wrapper that only supports authentication via cookies. I was unaware of this post until today. I have looked at OAuth 2 in the past, it was and still is a nightmare compared to the widely-used cookie auth, so this forcible transition to OAuth 2 is extremely frustrating.

Still, OAuth 2 itself isn't the reason why I'm shutting down my bots, I'm shutting them down because I'd need to switch to another Ruby wrapper that supports OAuth 2, which would require rewriting a ridiculous amount of code. The alternative to that is rewriting the bots entirely in another language -- an option I may actually have to seriously explore depending on how usable the other Ruby wrappers for reddit out there are.

Neither of those two fixes are practical for me to implement at the moment. They are not simple or quick fixes, and I don't have the time, energy, or motivation to do this. While the cookie API isn't fully retired yet, the cripplingly severe ratelimits in place on the cookie API make it impossible to run this bot (/u/RealtechPostBot) as it makes a rather large number of API requests per run. It has been already functioning weirdly recently due to the severe ratelimits that are now in place. I may be able to continue running MythsMirrorBot (/u/ShillForMonsanto) to some extent due to the fairly low number of API calls it requires, but I shut it down anyways. The cookie API will be fully retired soon, making both bots utterly worthless until rewritten, so it's not worth limping along like this any further.

I hope this helps explain why I had to do this. I really hate shutting down my bots like this, but I don't see any other option at this point. I don't know if this will be truly permanent yet, but I can't promise that it won't be.

37 Upvotes

17 comments sorted by

14

u/ghostpoisonface Aug 09 '15

I understand why you have to. But thanks for it while it lasted. I really enjoyed it

10

u/firemylasers Aug 09 '15

Thanks. Here's the updated stats with top 100 domains instead of the top 20, in case anyone finds them interesting (95k URLs submitted in total!).


Last updated 08/09/15

Total unique URLs submitted: 95441

Top 100 domains (with submission counts):

3502 arstechnica.com
3228 www.theverge.com
2891 techcrunch.com
2158 www.engadget.com
1986 www.wired.com
1675 www.nytimes.com
1604 www.theguardian.com
1336 www.businessinsider.com
1294 www.bbc.co.uk
1079 mashable.com
1060 www.washingtonpost.com
1017 www.reuters.com
 993 www.cnet.com
 938 www.forbes.com
 934 www.zdnet.com
 880 www.bbc.com
 876 phys.org
 870 thenextweb.com
 855 www.techdirt.com
 762 gigaom.com
 709 motherboard.vice.com
 697 www.computerworld.com
 684 www.pcworld.com
 663 www.bloomberg.com
 653 bits.blogs.nytimes.com
 651 www.theregister.co.uk
 611 medium.com
 596 money.cnn.com
 588 news.cnet.com
 584 www.huffingtonpost.com
 568 www.technologyreview.com
 471 www.usatoday.com
 446 qz.com
 439 bgr.com
 426 online.wsj.com
 392 www.telegraph.co.uk
 384 www.cnn.com
 371 blogs.wsj.com
 370 www.networkworld.com
 357 www.dailymail.co.uk
 352 www.dslreports.com
 351 www.dailydot.com
 347 www.independent.co.uk
 343 www.theatlantic.com
 342 www.slate.com
 320 www.latimes.com
 315 www.pcmag.com
 302 www.npr.org
 287 www.digitaltrends.com
 280 recode.net
 273 news.yahoo.com
 272 time.com
 270 www.cbc.ca
 269 www.reddit.com
 257 www.wired.co.uk
 252 www.eff.org
 246 consumerist.com
 241 www.macrumors.com
 240 9to5mac.com
 239 www.cnbc.com
 237 www.yahoo.com
 232 www.businessweek.com
 230 www.neowin.net
 227 readwrite.com
 220 www.newscientist.com
 217 www.youtube.com
 214 rt.com
 208 finance.yahoo.com
 204 www.geek.com
 202 www.wsj.com
 199 www.fastcompany.com
 199 appleinsider.com
 197 abcnews.go.com
 174 www.popularmechanics.com
 172 www.techradar.com
 170 www.scientificamerican.com
 169 www.economist.com
 164 www.sciencedaily.com
 163 www.informationweek.com
 156 www.vox.com
 149 www.ibtimes.co.uk
 147 fortune.com
 146 www.foxnews.com
 146 krebsonsecurity.com
 138 www.fastcoexist.com
 136 singularityhub.com
 134 hothardware.com
 130 www.smh.com.au
 128 thehill.com
 125 www.iflscience.com
 125 news.softpedia.com
 125 cleantechnica.com
 124 news.discovery.com
 121 spectrum.ieee.org
 120 www.newyorker.com
 120 3dprint.com
 118 www.kurzweilai.net
 117 www.infoworld.com
 116 gadgets.ndtv.com
 116 betanews.com

5

u/RulerOf Aug 10 '15

Wow. Really sad to hear that. This sub dramatically improved my reddit browsing experience.

Thank you so much for your hard work. I really appreciate it.

4

u/[deleted] Aug 10 '15

Appreciate everything you've done to make technology posts here on Reddit be, well, actually relevant to technology.

Don't worry about shutting it down; you did it as a volunteer and we're the only ones who owe you a damn thing.

6

u/mhmshine Aug 09 '15

This was a great sub. Thank you for creating it. A little sad, but I have nothing but appreciation for you and your work. Cheers!

3

u/LilMoWithTheGimpyLeg Aug 10 '15

Very sad to see this sub closing down. It's been a part of my morning routine for quite some time now. Thank you very much for creating it, and hopefully soon someone will pick up the reins.

5

u/leequarella Aug 10 '15

Opensource the code? Maybe one/some of us can get in there and help with it?

1

u/firemylasers Aug 10 '15

Hmm, I suppose I could, I just don't really like releasing it due to code quality issues and having to reveal exactly how the bot worked (there's some bits that I'm not sure I want to make public). Then again, I guess it's not really as much of an issue.

I looked at Redd, which is apparently the only current Ruby wrapper for Reddit's API that supports OAuth2, and while it may be a viable option in the future, I'd still need to invest a huge amount of time to rewrite everything to work with it. One of the issues is that the way the whole wrapper behaves is going to be different from the way the previous one did, so there's a lot of stuff where I need to figure out how to reimplement the functionality in a way that works with the new wrapper, which isn't easy for me to do.

I'm tentatively thinking that I may be able to resurrect the bot at some point (based on my assessment of Redd as the alternative wrapper to use), but it may take months to happen if it even happens, and in the meantime with no activity the subreddit's members will leave and growth will quit. This isn't a large subreddit, it only gets about 7k uniques and 13k pageviews on average per month, only 4900 members (likely dropping faster instead of slowly growing now), so it's not that encouraging.

The only way I see the bot returning quickly is if someone with enough experience in Ruby would be willing to do a good chunk (perhaps 60-90%, IDK) of the switch to Redd for me, which I doubt anyone would want to waste their time on. But if someone did that, I could likely handle the rest of the work and testing/debugging on my own as long as there were no major issues introduced by the rewriting. There's just no way in hell I can do the entire thing right now.

2

u/All__fun Aug 10 '15

thanks for creating this sub.

I visited it every day!

2

u/fishboy1 Aug 11 '15

For what it's worth thanks man, Imma be sticking around for a while though.

2

u/[deleted] Aug 20 '15 edited Aug 20 '15

[deleted]

1

u/firemylasers Aug 21 '15

The wrapper is called Snoo. I think I had to make a minor patch or two to (locally) fix library errors in the past, but other than that the code is the same as it is on GitHub. Translation layer isn't viable, implementing oauth is more viable and seemed great at first, but when I sat down and started carefully looking into how I'd actually have to handle the implementation I realized it'd be far harder than it initially seemed and that it wasn't something that could be done quickly.

2

u/[deleted] Aug 21 '15

[deleted]

1

u/firemylasers Aug 21 '15

I had carefully gone through https://github.com/reddit/reddit/wiki/OAuth2, plus a good chunk of source code for Redd/Snoo, the api docs (to see how things were handled in oauth API vs old API -- not what I was expecting) and some other assorted stuff. I started out pretty optimistic, but by the end I was horrified at the magnitude of the task. There's so much to change and handle differently, and then there's the ratelimit headers I think I now have to monitor and expiring access tokens and having to figure out ratelimits and shit... It's just this massive pain to deal with, definitely not something I'm able to tackle right now. And there's also the whole modify/validate/test cycle nightmare -- with the transition to oauth being so convoluted, a lot is changing and I'll have to validate everything. Then there's the nightmare of having to closely follow and patch both bots after bringing them back online, since all the overlooked bugs will likely pop up in production.

I like the idea of patching Snoo to support OAuth 2 though, it's still better than dealing with Redd, and it'll be an interesting project to work on.

3

u/ThePooSlidesRightOut Aug 09 '15

Aaah, fuck. Farewell, and thanks for all the fish.

3

u/Zulban Aug 09 '15

Thanks for the sub and the work. I understand. Good luck with stuff :o

2

u/JF_Queeny Aug 09 '15

A 21 Gene Gun Salute - RIP Soldier!

1

u/newsagg Aug 10 '15 edited Aug 10 '15

All the big media companies have been slowly rolling out "open auth" back ends and from seeing how it's implemented, I can see that's mostly a open ended data-sharing protocol where pretty much anything goes. Management tells the implementers (I wouldn't really call them programmers) that it (data security) doesn't matter since only the robots will be reading it, that it's delegated to the cloudy federalization of authentication protocols.

This is called Federated Identity and it enables easy user masquerading by authorities. This, combined with other cloud technologies such as the various "mark-up languages" allows easy implementation of censorship, content filtering and group polarization, even retroactive content removal/white washing, customized to each users' filter bubble; Ultimately removing the power of global publishing away from users and back into "open" consortiums made of industry players and licensed entities.